これまでの事実
「<a href="http://www.apachelounge.com/viewtopic.php?t=4385">mod_fcgi は mod_fastcgi の代替ではありません」および「<a href="http://mail-archives. apache.org/mod_mbox/httpd-users/201008.mbox/%3C4C7C286B.6020703@codexterous.com%3E">mod_fcgid とマルチスレッド FastCGI アプリケーションの問題」、、mod_fcgid
FastCGI サーバーが処理できることを期待するようには設計されていませんつまり、FastCGI サーバーがマルチスレッド化されることを期待するようには設計されていません。
前者は次のように述べています。
どちらも公開されている「FastCGI」プロトコルをサポートしていますが、FastCGI サーバーを制御する方法はかなり異なります。mod_fcgid は、FastCGI サーバーを迅速に排除し、新しいサーバーを開始します。
後者は次のように述べています。
私のサーバーがマルチスレッド化されており、複数のリクエストを処理できるという事実を mod_fcgid が認識していないようです。
これは他の引用のうちの 2 つにすぎません。他にもいくつかあります。
連続出題
スレッド化は、CPU とメモリを節約して新しいプロセスを作成するオーバーヘッドを回避することだけではなく (スレッドの作成は、プロセスの作成よりも軽量であることが知られています)、ハードウェアまたは OS のパフォーマンスによって軽減される可能性があります。これは論理的な問題でもあり、軽減するのは簡単ではありません。スレッドは同じプロセスに属しています。これは、パフォーマンスだけでなくロジックでもあります。プロセスは分離して実行されるため、プロセスはスレッドが共有できるものを共有できません (モジュロ IPC ですが、それは同じではありません)。
少なくともこの論理的な理由から、マルチスレッド FastCGI サーバーの問題が提起される可能性があります。FastCGI サーバーは、マルチスレッド サーバーとして設計されている場合、すべての要求ハンドラーに対してグローバルなコンテキスト (プロセス間で共有するには大きくてコストがかかる場合があります) を保持できます。同時リクエストごとに新しいプロセスをフォークしても、共通のコンテキストを確保できなくなります。
質問
上記の 2 つの引用はまだ正しいですか (1 つは 2011 年、もう 1 つは 2010 年)。このトピックについて Web を検索しましたが、関連するものは見つかりませんでした。それでも正しい場合、それは常に正しいのでしょうか、それともmod_fcgid
マルチスレッドの FastCGI サーバーを認識し、複数の同時要求を処理するように設計されている可能性があることを受け入れる計画があるのでしょうか?