0

ステートレスJavaサーブレットWebアプリケーションを構築しました。要件は、1秒あたり少なくとも5000トランザクション(150の同時スレッド)を受け入れることです。遅いハードディスクへの書き込みを避けるために、SQLServer2005と一緒にehcacheを使用しています。

パフォーマンステスト(Jmeter 150スレッドを使用)では、1秒あたり約2800トランザクションしかスコアリングできません(予想の半分未満)。JVisualVM内でサンプラーを使用すると、次のことに気付きます。

 org.apache.catalina.connector.requestfacade.getsession()   <-- take more than 44.7% of CPU time

requestfacade.getsession()は何をしていて、それを高速化する方法はありますか?コードを最適化する必要がありますが、それでも上記の行が何をしているのかを理解する必要があります。それ以外の場合、1秒あたり5000は実際には不可能です。

Tomcat conf:

-単一のTomcatインスタンス(6.0.23)-150maxThreadでConnectirエグゼキューターを使用

サーバー設定:

-Windows 2008

-xeonクアッドコア

-8GBのRAM

-1TB RAID 5 HDD

どんな助けでも感謝しなければなりません!

4

2 に答える 2

1

サーブレットが本当にステートレスである場合、なぜセッションにアクセスしているのですか?

:-)

于 2012-01-10T22:17:01.843 に答える
0

これをステートレスな方法で作業している場合は、デフォルトでセッションを作成しないようにTomcatを構成する方法を参照してください。

また、JSPを使用している場合は、セッションを作成しないように設定されていることを確認してください。

于 2011-10-19T10:18:13.510 に答える