私は画像処理を実行する唯一のタスクであるWebサーバーを持っています。
Webサーバー上の画像処理では、同じXML設定ファイル(最大2MB)が読み込まれます。私は以下のアーキテクチャを使用するすべての要求のためのXMLファイルの読み込み時間を節約するために
:高負荷のWebサーバーにFastCGIを使用するためのベストプラクティス
- Webサーバは、MPMのpreforkのとFastCGIの画像処理アプリケーション(C++)と(fcgi_mod)でのApache(2.2.16)です。
呼び出さ画像処理アプリケーションは、XMLファイルをロードし、N個のスレッド、各スレッドの実行を生成します:
thread_func()
{
FCGX_InitRequest
一方(真)
{
FCGX_Accept_r
要求(画像)処理とFCGX_FPrintF/FCGX_PutStr
FCGX_f
}
}このモデルの弱点の
一つはFCGX_Accept_rとFCGX_Finish_r呼び出しの間でありながら、各Apacheプロセス内で最大1つのスレッドがその作業を行うということです。それでは価値がありますスレッドプロセス(シングルスレッド)だけではなく、MaxClientsを増やすのですか?
は、事前にありがとう:)
ごとに複数のスレッドを許可します。私は、Apache Webサーバープロセスごとに複数のスレッドを作成できます。問題は、コード実行がFCGX_Accept_rとFCGX_Finish_r呼び出しの間にある間に価値があるかどうかです。 – Valentine
各スレッドは1つのリクエストを受け取り、このリクエストを処理できます。はい – kinnou02
5つのWebサーバープロセスがあり、それぞれに10個のスレッドがあり、50個のリクエストが同時に処理される可能性がありますか? – Valentine