12

デフォルトの tomcat 7 スレッド プール サイズが 200 のようです。

しかし、通常の CPU は 16 コアのようです。

したがって、並列実行できるスレッドは 16 個だけです。

なぜTomcatはそれほど多くのスレッドを使用するのですか?

4

3 に答える 3

5

長い間、多くのシングル コア コンピューターが存在し、「疑似並列」モードで機能を実行できました。つまり、実際の並列モードで実行されている 16 のスレッドと、疑似並列で実行されている他のスレッドがある可能性があります。

詳細については、これを見てください: Parallel Computing

あなたの質問に答えるために、これらのスレッドはリクエストを処理するのに役立ちます.それらの束はhttpリクエストに参加するために使用され、他のスレッドはアプリケーションロジックを呼び出すために使用されます.

于 2013-01-10T02:18:22.163 に答える
2

200 スレッドのうち、16 コア マシンで実行されているスレッドは 16 スレッドのみです。典型的な Web アプリケーションのロジックは、軽い計算と重いデータベース クエリを実行することです。200 のスレッドのうち、計算を行っているスレッドはごくわずかで、そのほとんどはデータベースからの応答を待っています。

于 2016-04-26T12:04:37.387 に答える
0

実際の Web アプリケーションのほとんどは、アプリケーション データの格納にデータベースを使用するため、ディスクを集中的に使用する傾向があります。ディスクに同時にアクセスするスレッドが多すぎると、ディスクのスラッシングが発生する可能性があります。したがって、スレッド数を制限することは、データベースを使用する Web アプリケーションでは理にかなっています。

于 2014-11-07T04:28:54.953 に答える