5

マルチコア ハードウェアの Tomcat で実行される Java アプリケーションを作成しています。アプリケーションはアルゴリズムを実行し、ユーザーに答えを返します。問題は、2 つのリクエストを同時に実行しても、Tomcat プロセスが使用する CPU コアは多くても 1 つです。
私が理解している限り、Tomcat の各リクエストは個別のスレッドで実行され、JVM は各スレッドを個別の CPU コアで実行する必要があります。

JVM または Tomcat が 1 つのコアのみを使用するように制限する問題は何でしょうか?

前もって感謝します。

4

4 に答える 4

0

シリアル実行を強制する同期ブロック/メソッドを実行していますか? server.xml の tomcat コネクタ構成は、要求スレッド プールを制御しますが、デフォルトは 200 スレッド (IIRC) です。

于 2010-05-18T17:15:45.813 に答える
0

2 つのスレッドが作成されていることを確認します。簡単なテストとして、スレッドの名前を単純に出力できます。

スタンドアロン アプリでアルゴリズムを実行するとどうなりますか?

于 2010-05-18T09:24:44.147 に答える
0

すべてのプロセッサ管理は、サーバー自体によって処理されます。2 つのリクエストを渡す場合、2 つの CPU を使用する必要はありません。

于 2010-05-18T06:36:10.157 に答える
-1

tomcathttp : //tomcat.apache.org/tomcat-5.5-doc/balancer-howto.htmlで負荷分散を行う手順は次のとおりです。

バランサーのWebアプリはtomcat5.0以降に付属しているとのことなので、これはTomcat6でも機能すると思います。

于 2010-05-21T03:00:40.920 に答える