統計:CPU時間と経過時間。より重要なことは何ですか?


9

パフォーマンスを調整するとき、より重要なこと:

  • CPU時間または経過時間?
  • それらの1つが他よりも重要であるシナリオはありますか?

例:CPU時間がなり、パフォーマンス・チューニングながら削減〜38%が、経過時間によって増加〜22%。これは改善ですか?


5
誰にとって重要ですか?あなたの要件は私のものとは異なる場合があります。ほとんどの顧客にとって、経過時間(ユーザーが待機する時間の長さ)はCPU時間よりもはるかに重要なので、いいえ、それは改善にはなりません。CPUの処理量は少なくなりますが、補償に使用されるリソースが不足している可能性があります(通常はI / O)。CPUスパイクまたは何が起きているかに関するアラートに調整されているため、IT Bean-counterタイプで経過時間よりもCPU時間を重視する場合があります。エンドユーザーとはニーズが異なりますが、両方を満たす必要がある場合があります。簡単な答えはないと思います。
アーロンバートランド

クエリが非常に頻繁に実行される場合、CPUの削減により全体的に時間を短縮できますか?
EnterTheCode

あなたが与えた例では、ありそうもない。
アーロンバートランド

回答:


14

CPU時間は、プロセスが使用したプロセッサ時間の量です。これは期間を示すものではありません。「経過時間」は、タスクの合計期間を表します。特定のタスクが8の並列処理(つまり、8スレッド)を使用し、各スレッドがタスクの全期間にわたって100%の割合で使用される場合、CPU時間は8000ミリ秒、経過時間は1000ミリ秒にすぎません。

したがって、「経過時間」が短いほど応答時間が速くなります。

CPUのプレッシャーが気になり、ユーザーエクスペリエンスを気にしない場合は、CPU時間を短くし、経過時間を長くする必要があります。

CPU使用率が高くなる代わりに、ユーザーが待機している時間が短くなる可能性があるため、経過時間が減少する場合は、より長いCPU時間を受け入れることができます。

間違いなく、クエリのチューニングで最も重要な指標は待機時間です。


4

... CPU時間のパフォーマンスチューニングでは最大38%減少しますが、経過時間は最大22%増加します。これは改善ですか?

これは、最適化の対象とその理由に完全に依存します。Max Vernonが彼の回答で述べたように、最も一般的な意味では-クエリ出力の速度-これは改善ではありません。

ただし、システムがCPUにバインドされている場合は、CPU負荷を減らしたため、これ改善になります。実際、これが事実である場合、最終結果は結果セットのより速いリターンも意味する可能性があります。

また、システムがディスクまたはメモリにバインドされている場合、これらの測定値が改善または低下したことを示すものがないため、これは中立的な結果になります。

したがって、95%の確率で、Maxは完全に正しいです。これは改善ではありません。残りのいくつかのケースでは、改善になる可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.