我们有一个每天执行的批处理进程。本周,一个通常不超过18分钟执行时间(如您所见,是真实的)的作业,现在需要超过45分钟才能完成。
Fullstimmer选项已经激活,但我们不知道为什么只增加了真实的时间。
在旧的文档中,有Fullstimmer统计信息可以帮助识别问题,但它们不出现在批处理日志中。(统计信息如下:页错误、上下文切换、块操作等,如您所见)
这可能是一个I/O问题。有人知道我们如何才能确定这是一个真正的I/O问题,还是其他问题(例如网络)?
更具体地说,这是一个时间显著增加的查询。正如您所看到的,它从数据库(SQL Server、VAULT架构)阅读,并在工作目录中工作和写入。
观察次数几乎相同:
我们询问客户网络流量是否有任何变化,他们说还是一样。
先谢谢你。
1条答案
按热度按时间zyfwsgd61#
要完成一个进程,需要完成的工作远不止CPU上的实际计算。
在我们的情况下,如果真实的时间比cpu时间大得多,我们通常会看到网络文件系统(nfs)有很多流量。
作为一名程序员,您可能会注意到,在WORK中存储中间结果比在远程库中更有效。
通过将中间结果创建为视图(而不是表),* 如果只使用一次 *,可以节省大量时间。这不仅在SQL中可行,而且在类似这样的数据步骤中也可行