2011-01-20 6 views
2

私は画像処理を実行する唯一のタスクであるWebサーバーを持っています。
Webサーバー上の画像処理では、同じXML設定ファイル(最大2MB)が読み込まれます。私は以下のアーキテクチャを使用するすべての要求のためのXMLファイルの読み込み時間を節約するために
高負荷のWebサーバーにFastCGIを使用するためのベストプラクティス

  1. Webサーバは、MPMのpreforkのとFastCGIの画像処理アプリケーション(C++)と(fcgi_mod)でのApache(2.2.16)です。
  2. 呼び出さ画像処理アプリケーションは、XMLファイルをロードし、N個のスレッド、各スレッドの実行を生成します:

    thread_func()
    {
    FCGX_InitRequest
    一方(真)
    {
    FCGX_Accept_r
    要求(画像)処理とFCGX_FPrintF/FCGX_PutStr
    FCGX_f
    }
    }このモデルの弱点の

一つはFCGX_Accept_rとFCGX_Finish_r呼び出しの間でありながら、各Apacheプロセス内で最大1つのスレッドがその作業を行うということです。それでは価値がありますスレッドプロセス(シングルスレッド)だけではなく、MaxClientsを増やすのですか?

は、事前にありがとう:)

答えて

0

をあなたはfastcgiモジュールを使用することができ、それは、スレッドの数は問題ではありませんプロセス

+1

ごとに複数のスレッドを許可します。私は、Apache Webサーバープロセスごとに複数のスレッドを作成できます。問題は、コード実行がFCGX_Accept_rとFCGX_Finish_r呼び出しの間にある間に価値があるかどうかです。 – Valentine

+0

各スレッドは1つのリクエストを受け取り、このリクエストを処理できます。はい – kinnou02

+0

5つのWebサーバープロセスがあり、それぞれに10個のスレッドがあり、50個のリクエストが同時に処理される可能性がありますか? – Valentine

関連する問題