我刚刚收到有关SQL Server 2005实例的以下通知。该实例的核心与tempdb文件比为2:1,总tempdb文件数为24。争用不应发生-我将如何检测这种争用的根源?TempDB和所有其他数据库通过10 GB以太网存储在SAN存储上。SAN具有在一个RAID-60阵列中配置的46个10k SAS驱动器。该阵列与多台VMWare服务器和一台或两台Exchange服务器共享。
来自Idera SQL Diagnostic Manager的通知:
2012年11月8日10:49:00 PM,MGSQL01上的Tempdb争用(ms)至关重要。
在MGSQL01上检测到Tempdb锁存器争用。检测到的总等待时间为1782毫秒。这表明在tempdb中分配映射上的争用会影响性能。如果这是一个经常性的问题,则可以通过遵循有关tempdb文件数,大小和IO子系统的最佳实践来缓解。
PFS等待时间:1782 ms GAM等待时间:0 ms SGAM等待时间:0 ms
Tempdb争用(ms):tempdb分配映射(GAM,SGAM和PFS)的当前等待时间,以毫秒为单位。仅在运行SQL 2005或更高版本的实例上会发出此警报。
1
Heya Max,几个简单的问题。我最近不得不处理类似的问题。-是pagelatch_SH还是pageiolatch_SH?我很确定您的情况是pagelatch_SH,但我只是想确定一下。-您是否使用扩展事件来跟踪哪些查询累积了最多PAGELATCH_SH等待时间?您还可以通过SELECT * FROM SYS.DM_OS_WAIT_STATS ORDER BY 3发布您的前20个等待统计信息吗?TempDB驱动器实际上是否遇到任何实际的IO争用?尖峰MS?
—
阿里·拉泽吉
是在PFS页面上的等待是特定文件还是全部?所有的tempdb文件大小是否相等?您知道在tempdb中分配什么样的对象/大小吗?临时表是否已被应用代码显式截断并删除?您是否考虑过实施跟踪标志1118?
—
达林海峡
@MaxVernon:根据经验,请始终运行T1118。没有它,确实没有理由要运行
—
Thomas Kejser 2013年
@maxvernon,我+1了您的连接物品。好一个。
—
爱德华·多特兰2014年