パフォーマンスを調整する場合、より重要なことは次のとおりです。
例:パフォーマンスのチューニング中にCPU時間はreduceが約38%になりますが、経過時間increasesは約22%になります。これは改善ですか?
CPU時間は、プロセスが使用したプロセッサ時間の量です。これはdurationを示すものではありません。 「経過時間」は、タスクの合計期間を表します。特定のタスクが8の並列処理(つまり、8スレッド)を使用し、各スレッドがタスクの期間全体にわたって100%の割合で使用される場合、CPU時間は8000ミリ秒、経過時間は1000ミリ秒にすぎません。
したがって、「経過時間」が短いほど応答時間が速くなります。
CPUのプレッシャーが気になり、ユーザーエクスペリエンスを気にしない場合は、CPU時間を短くし、経過時間を長くする必要があります。
CPU使用率が高くなる代わりに、ユーザーが待機している時間が短くなる可能性があるため、経過時間が減少する場合は、より長いCPU時間を受け入れることができます。
おそらく、クエリチューニングのより重要なメトリックは 待機時間 です。
... CPU時間のパフォーマンスチューニングでは最大38%減少しますが、経過時間は最大22%増加します。これは改善?ですか?
これは、最適化の対象とその理由に完全に依存します。 Max Vernonが彼の回答で述べたように、最も一般的な意味では-クエリ出力の速度-これは改善ではありません。
ただし、システムがCPUにバインドされている場合は、CPU負荷を減らしたため、これはwouldの改善になります。実際、これが事実である場合、最終結果は結果セットのより速いリターンも意味する可能性があります。
また、システムがディスクまたはメモリにバインドされている場合、これらの測定値が改善または低下したことを示すものがないため、これは中立的な結果になります。
したがって、95%の確率で、Maxは完全に正しいです。これは改善ではありません。残りのいくつかのケースでは、改善になる可能性があります。