どのくらいのスレッドプールサイズ適切な?
アウトライン
一般に、サービスの2種類に分けられます。
また、計算集約型、CPU速度、コンピュータに結合したCPU(または計算限界)に依存してタスクを完了するためのコンピュータ時間として知られている:高いCPU使用率、多くの秒または数分の持続時間の100%以内とすることができます。割り込み処理が遅い又は生成ペリフェラルを処理する無期限に遅延させることができます。
- IO集約型
終了時間は、それが完了するまでに時間がかかり、主にI / O操作によって決まる待機に費やされています。これはCPU集中型のタスクとは対照的です。要求されたデータレートは、消費のレートよりも低い場合、または他の言葉で、時間はそれが要求されたデータは、それがデータを処理するのに要する時間以上で取る、それが起こるのだろう。
着陸それを導くことができる何のプラクティスはありませんか?法律のリトル。
リクエストのシステム
=
の要求到着率に*
それぞれ別々の要求のために費やされた平均時間
リトルの法則は、つまり、スレッドプールのサイズを使用して決定されます
スレッドプールのサイズ=(スレッドIOスレッドCPU時間+)/スレッドCPU / CPU番号
値が必要です。
- 消費要求時間
- スレッド時間+ IOスレッドのCPU時間
- この要求時間
- スレッドのCPU時間
- CPUの数
要求時間がかかります
Webサービスは、フィルターによる消費の前と後の要求を傍受するための時間を得ることができます
|
|
CPU時間
CPU時間を要求=合計時間 - CPU IO時間
要求がクエリのDB操作を有すると仮定すると、限りDBクエリー時間がかかり、CPU IO時間であるとして、CPU時間を描画することができます。
AOPは、スレッドIO時間がかかりを得るためにセクションJDK動的プロキシまたはCGLIBの方法により添加することができます。
|
|
CPU数目
|
|
总结
还是需要通过压测来进行微调,以保证配置的正确性。
オリジナル:ビッグボックス の設定スレッドプールサイズ・ホワイトII