概要
- 90年代CGI技術 が現代ハードウェアで再評価
- Go + SQLite によるCGIプログラムで高いリクエスト処理性能を実証
- CGIの プロセスごと起動の欠点 と現代CPUの性能向上
- GoやRust の高速起動性がCGIの弱点を補完
- 現代的CGI活用 の可能性と制限
90年代CGIと現代ハードウェアの再評価
- Jake Goldが Go + SQLite を使い、 CGIプログラム の性能検証を実施
- 16スレッドの AMD 3700X で 1秒あたり2400リクエスト超、1日2億リクエスト 処理を達成
- 90年代ウェブ開発で主流だった CGI の仕組みは、 リクエストごとにプロセスを起動・終了
- 当時は プロセス起動のオーバーヘッド が問題となり、 PHPやFastCGI などの技術が登場
- その経験から「 プロセス起動は非効率」という認識が長年定着
ハードウェア進化と新言語によるCGI再評価
- 近年の CPU性能・メモリ速度 の大幅向上
- GoやRust など、 高速起動 が可能な言語の登場
- CGI方式は マルチコアCPU を最大限に活用可能
- 各リクエストが 独立したプロセス として処理
- 384スレッド 対応サーバや 16CPU の小型VMでも高効率
- Jake Goldは「 現代のCGIは意外と有効」と指摘
CGIと現代Web開発の適用可能性
- CGI方式 は一部用途で 有効な選択肢 になり得る
- GoやRust の利用で 従来の欠点 を大幅に緩和
- ただし、 すべてのWebアプリケーション に推奨できる手法ではない
- 技術的興味 として再評価の価値
- 1998年風のWebアプリ開発 も現代技術で現実的選択肢
CGI技術の今後の展望
- プロセス分離 による セキュリティ・スケーラビリティ の利点
- クラウド環境 や サーバレス 技術との親和性
- 従来の常識 を疑い、 新旧技術の融合 による最適解探索