2

2GBのRAM、8GBのスワップ、およびIntel Xeon CPU X3330を備えたdebian-lenny x64サーバーで、Apache 2.2およびmod_jk 1.2.26を使用してtomcat 7を実行しています。接続プールを使用してバックエンド mysql データベースとやり取りする GWT アプリケーションを使用しています。このアプリケーションは多くのリクエストを処理する必要がありますが、各リクエストの処理には少し時間がかかり (1 秒と仮定)、他のリクエストで使用するために割り当てられたリソースを解放する必要があります。同時クライアントの数は、ピック時に 200 を超える可能性がありますが、通常は 100 未満です
。Apache は、次の構成で prefork-mpm モードで構成されます。

<IfModule mpm_prefork_module>
    StartServers       8
    MinSpareServers    5
    MaxSpareServers   20
    MaxClients       256
    MaxRequestsPerChild  2000
</IfModule>

& これは私の worker.properties ファイルです:

worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

worker.worker1.lbfactor=1
worker.worker1.connect_timeout=6000
worker.worker1.prepost_timeout=6000
worker.worker1.connection_pool_size=256
worker.worker1.connection_pool_minsize=64
worker.worker1.connection_pool_timeout=60
worker.worker1.reply_timeout=1000
worker.worker1.retries=5

worker.worker1.fail_on_status=-500

worker.worker1.cachesize=64
worker.worker1.cache_timeout=60

& これは server.xml の tomcat コネクタの設定です:

 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"  connectionTimeout="60000" maxThreads="256" acceptorThreadCount="2" />

ここでの問題は、アプリケーション リクエストの一部が 504 ゲートウェイ タイムアウト エラーで失敗することです。多くの設定を変更してテストしましたが、すべて構成ファイルの上にありますが、安定した状態を得ることができませんでした。さらに、Tomcat を数時間実行した後、サーバー上で実行中のアプリケーションの多くがクラッシュし、新しいプロセスのフォークとシステム リソースのリークに関連するエラーが発生します (VPS で実行していますが、十分なリソースとリソースがあると確信しています)。そのようなアプリケーションを実行する必要がある以上のことなので、問題はapache、tomcat、およびmod_jkの構成が悪いためだと確信しています)。
何か案が?mpm_prefork、mod_jk ワーカー プロパティの理想的な構成を提案してください &
ありがとう

4

0 に答える 0