统计信息:CPU时间与经过时间。更重要的是什么?


9

性能调整时,更重要的是:

  • CPU时间或经过时间?
  • 是否存在其中一种情况比另一种情况更重要的情况?

例如:性能调整时,CPU时间将减少约38%,但经过时间增加约22%。这是一个进步吗?


5
对谁重要?您的要求可能与我的要求不同。对于我的大多数客户而言,经过时间(用户花费在等待时间上的时间)比CPU时间重要得多,因此不会,这不会有所改善。您的CPU所做的工作较少,但是很可能会使用更多的稀缺资源进行补偿(通常是I / O)。您可能有一些IT bean计数器类型,它们会在经过的时间上对CPU时间进行评估,因为它们被调入了有关CPU峰值或故障的警报。他们与最终用户的需求不同,但是您可能需要同时满足这两个需求。我认为没有简单的答案。
亚伦·伯特兰

如果查询运行得非常频繁,CPU减少会导致整体时间减少吗?
EnterTheCode

对于您给出的示例,可能性很小。
亚伦·伯特兰

Answers:


14

CPU时间是进程占用的处理器时间。这并不表示持续时间。“经过的时间”表示任务的总持续时间。如果给定任务使用8的并行度(即8个线程),并且在整个任务期间以100%的速率使用每个线程,则CPU时间可能为8000ms,而“经过时间”仅为1000ms。

因此,较短的“经过时间”表示较快的响应时间。

如果您担心CPU压力并且不关心用户体验,则可能需要较短的CPU时间和较长的经过时间。

如果这会导致经过时间的减少,您可能会接受更长的CPU时间,因为这可能表示用户等待的时间减少了,但代价是CPU使用率更高。

可以说,查询优化的更重要指标是等待时间


4

...在进行性能调整时,CPU时间将减少约38%,但经过时间增加约22%。这是进步吗?

这完全取决于您要优化的内容以及原因。就像马克斯·弗农(Max Vernon)在回答中指出的那样,从最普遍的意义上讲,即查询输出的速度并不是一种提高。

但是,如果您的系统受CPU限制,那么这有所改善,因为减少了CPU负载。实际上,如果是这种情况,则最终结果也可能意味着更快返回结果集。

而且,如果您的系统是磁盘绑定的或内存绑定的,那将是一个中立的结果,因为没有迹象表明它改善或降低了这些措施。

因此,在95%的时间内,Max是绝对正确的-这不是一种改进。在其余的少数情况下,可能会有所改善。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.