背景:我们在服务器上有17个不同的TempDB数据库文件和6个TempDB日志文件。它们分散在不同的驱动器上,但是托管在两个驱动器阵列上。
我看到磁盘IO响应时间超过了建议的限制。通常,您希望您的磁盘响应在5-10毫秒,没有超过200毫秒。我们在TempDB文件上看到了高达800毫秒的随机峰值,但只有一个驱动器阵列。
提出的解决方案:重启server。当SQL server关闭时,重新启动承载大部分TempDB文件的驱动器数组。此外,当SQL关闭时,重做网络连接以绕过网络交换机,以消除硬件上任何缓慢的来源。
这是个好主意还是暗处拍摄?有什么想法吗?提前谢谢。
发布于 2013-02-04 22:57:36
17岁?是谁想出了这个数字?请看这个和这 --很少有超过8个文件会有帮助的场景,特别是当您只有两个底层数组/控制器时。一些建议:
DBCC CHECKDB。如果你定期运行CHECKDB,耶!拍你自己的背。然而,这可能会对tempdb 请参阅这篇关于优化此操作的文章。造成影响,并在可行的情况下将其从生产实例中删除。您是否考虑过显式地使用tempdb (更少的#temp表、@表变量和静态游标-或者完全是游标)?您是在大量使用RCSI、MARS或LOB类型的局部变量吗?
https://stackoverflow.com/questions/14697128
复制相似问题