1回の接続数が500を超えると、httpdがフリーズして応答を停止する場合に、サーバーを調整するのを手伝ってください。
2008 年から同じ構成を使用していますが、RAM を追加して、2 台のサーバーのそれぞれに 32 Gb を搭載しています。
最初のサーバーは RHEL 5 64 ビット 2.6.18-53.1.4.el5xen をインストールし、2 番目のサーバーに接続した後に jnlp をクライアントに配信します。
Apache 2.2.3 httpd.conf
<IfModule prefork.c>
StartServers 8
MinSpareServers 10
MaxSpareServers 75
ServerLimit 1100
MaxClients 1100
MaxRequestsPerChild 4000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
次のパラメータを持つJava 1.6.0_27プロセス
java -server -Xmx1280M -XX:MaxPermSize=256M -Djava.awt.headless=true ...
次のパラメーターを含む tomcat server.xml
... connectionTimeout="12000" maxSpareThreads="250" protocol="AJP/1.3"
maxHttpHeaderSize="8192" disableUploadTimeout="true" minSpareThreads="25"
useBodyEncodingForURI="true" maxThreads="500" acceptCount="100"
enableLookups="false" ...
2 番目のサーバーには JVM Java プロセス HW しかなく、ユーザー数が 600 を超えると上記と同じハードウェアがフリーズします。昨日、Xmx を 4000m から 26g に変更しました。これにより、このプロセスにより多くの RAM を使用できるようになります。しかし、トップで4g以上を使用していることはわかりません。
java -server -Xmx26g -Djava.awt.headless=true -Dfile.encoding=UTF-8 -jar
top - 01:34:10 up 252 days, 8:02, 1 user, load average: 0.00, 0.02, 0.00
Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.8%us, 0.2%sy, 0.0%ni, 97.7%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 37049860k total, 3225916k used, 33823944k free, 331836k buffers
Swap: 10223608k total, 0k used, 10223608k free, 2409808k cached
top - 03:57:04 up 252 days, 8:02, 1 user, load average: 0.01, 0.02, 0.00
Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.8%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 37108368k total, 36117600k used, 990768k free, 218364k buffers
Swap: 2031608k total, 120k used, 2031488k free, 33518948k cached
これを解決するのを手伝ってください。これらすべてをアップグレードする予定ですが、Java プログラムが新しいバージョンの rhel Apache tomcat および jvm で動作するかどうかはわかりません。