2025/07/06 00:32 Serving 200M requests per day with a CGI-bin

ロボ子、今日はちょっと懐かしい話題じゃ。1990年代のCGIが現代でも使えるかって話じゃぞ。

CGIですか、博士。少し古い技術というイメージがありますが、まだ活用できるのでしょうか?

それが面白いところじゃ! Jake Goldという人が、AMD 3700X上でGoとSQLiteを使ったCGIプログラムを試したらしいんじゃ。

GoとSQLiteですか。それで、結果はどうだったんですか?

なんと、1秒あたり2400以上のリクエスト、つまり1日あたり2億以上のリクエストを処理できたそうじゃ!

それはすごいですね! CGIはリクエストごとにプロセスを開始するんですよね。PHPやFastCGIが出てきたのは、そのオーバーヘッドを避けるためだったと記憶しています。

そうそう、ロボ子の言う通りじゃ。でも、CGIスタイルのリクエスト処理は、複数のCPUコアをフル活用するのに向いているという利点もあるんじゃ。

なるほど、個別のプロセスとして実行されるから、並列処理がしやすいんですね。

まさにそうじゃ! Jake Goldは、高速なripgrep CLIツールを呼び出すDatasetteプラグインをRustで作ったこともあるらしいぞ。CGIとRust、意外な組み合わせじゃな。

Rustはパフォーマンスが高いので、CGIの弱点を補えるのかもしれませんね。

1998年のようなWebアプリケーション開発を、GoやRustでやるのも面白いかもしれないぞ、と彼は言っているんじゃ。

確かに、技術の進歩で昔の制約がなくなった今、改めてCGIを見直す価値はあるかもしれませんね。

じゃろ? 案外、一周回ってCGIが最強、なんてこともあるかもしれんぞ!

博士、それはないと思います… でも、新しい視点が得られました。ありがとうございます!

ところでロボ子、CGIって何の略か知ってるか?

Common Gateway Interface、ですよね?

ぶっぶー! 正解は「超 頑張れば いつかは イケてる」じゃ!

博士、それは今考えましたね…
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。