查找 SQL Server 瓶颈 - 不是 CPU、IO、可用内存

查找 SQL Server 瓶颈 - 不是 CPU、IO、可用内存

我正在尝试确定新 SQL Server 实施(2012 Enterprise)的瓶颈。我一直在运行一些繁琐的查询/ETL 作业,这些作业花费了相当长的时间 - 但我很难确定限制因素是什么。

服务器是 Dell R720,配备 2 个 Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz(每个 4 核)。它有 384Gb 的 RAM。

数据存储在一个装有 24 个 400Gb Dell SSD 的 MD1220 阵列中。该阵列通过 2 个 6Gb SAS 连接连接到带有 1Gb 缓存的 H810。

日志存储位于 R720 内部托架中的 15 x 600Gb 15K Dell 旋转磁盘中,并连接到内部 H710P 控制器。

我使用的数据库是 200Gb - 所以应该完全适合 RAM。缓存命中率为 99.997% - 这表明情况确实如此。因此,我预计限制因素是 CPU - 但 CPU 的运行速度约为 10%。没有一个单独的核心在运行。两个阵列(数据和日志)和两个方向(读取和写入)的 IO 利用率也低于 50MB/秒 - 我相信应该能够接近饱和 SAS。

我尝试过 MAXDOP(当前设置为 4),但无济于事。

我使用的查询主要是操作数据 - 而不是提取数据并通过网络发送 - 并且网络吞吐量很小。

知道瓶颈可能在哪里吗?可能是内存或内部总线的速度吗?有什么建议我下一步应该去哪里找吗?

谢谢,

麦克风

答案1

a. 您是否检查过正在运行的查询的等待状态? Select * from sys.sysprocesses 可以做到这一点 b. 是否有任何资源调控器? c. 您是否使用重新编译提示对其进行了测试? d. 您是否检查过查询计划? e. 您是否尝试过使用 dbcc cpuweight 强制计划以并行模式运行? f. 您是否更新了表的统计信息?

相关内容