监视SQL JOB性能问题

时间:2009-10-06 17:12:22

标签: sql sql-server sql-server-2005 performance

我正在处理SQL作业,涉及处理大约75000条记录。

现在,该工作在10000/20000记录中工作正常,速度约为500 / min。在大约20000条记录之后,执行就死了。它每30分钟加载大约3000条记录并保持相似的速度。

昨天我问了一个类似的问题,对程序变更提出了很少的好建议。 这是链接: SQL SERVER Procedure Inconsistent Performance

我仍然不确定如何在这里找到真正的问题。以下是我的一些问题:

  1. 如果问题是tempdb,我该如何监控tempdb上的活动?
  2. 如何检查网络是否是瓶颈?
  3. 还有其他方法可以找到工作快速运行和减速时间之间的差异吗?

2 个答案:

答案 0 :(得分:2)

我一直是这类问题很常见的大型数据仓库实施的管理员。虽然,我无法确定它,但听起来是服务器的性能因日益增长的日志文件或内存使用而降低。 Perfmon是查看这些类型问题的好工具。

有关使用此工具的精彩文章可以找到here

答案 1 :(得分:1)

除非你的服务器真的不知所措,否则75000条记录应该不是tempdb的问题,所以我真的怀疑这是你的问题。

您之前的问题表明SQL Server,因此我建议在proc运行时运行跟踪。您可以从跟踪中获取语句时序等,并使用它来确定减慢速度的地方或内容。

您应该在单独的交易或小组客户中运行每个客户的处理。否则,最终事务必须写入的working set项不断变大,每次添加都会导致重写。您最终可以强制将当前数据分页,真的会减慢速度。

检查分配给SQL Server的内存。如果它太小,你最终会分页SQL Server的进程。如果它太大,你可以让操作系统没有足够的内存。