Cra*_*ker 0 sql-server performance sql-server-2005
有一段时间了,我们在新建的(基于VMWare的)SQL Server 2005数据库服务器上的传闻很慢.最近问题已经出现,我已经开始寻找问题的根本原因.
这是一个奇怪的部分:在我用作性能测试用例的存储过程中,执行速度的差异取决于我运行它的DB服务器.这是使用相同的数据库(mdf)和log(ldf)文件,从慢速服务器分离,复制和重新连接到快速服务器.这似乎不是(虚拟化)硬件问题:他的服务器速度是CPU容量的4倍,而速度是快速服务器的2倍.
据我所知,问题在于服务器的环境/配置(操作系统或SQL Server安装).但是,我检查了一堆变量(SQL Server配置选项,运行服务,磁盘碎片),发现没有什么能够对测试产生影响.
我应该看什么?我可以用什么工具来调查为什么会这样?
盲目地检查变量和设置不会让你走得太远.你需要有条不紊地处理这个问题.
SET STATISTICS IO ON
并运行这两种情况.逻辑读取的数量是否相同?物理读数是否相同?写入次数是否相同?逻辑读取或写入的差异将表明不同的计划.物理读取的差异(逻辑读取相似)表示缓存和内存问题.如果计划不同,您需要进一步调查实际执行计划中的不同之处.一个计划是否使用不同程度的并行性?是否使用不同的连接类型?不同的访问路径?SET STATISTICS TIME ON
在两种情况下使用并比较经过的时间和工作时间.类似的工作时间但不同的经过时间表明在一个案例中有更多的等待.使用sys.dm_exec_requests中的wait_type和wait_resource信息来确定争用的原因.在Waits and Queues白皮书中更详细地讨论了调查方法.
归档时间: |
|
查看次数: |
903 次 |
最近记录: |