最新服务器上的性能降低


8

我们有几个生产中的数据库服务器,其中有四个具有非常相似的硬件配置。Dell PowerEdge R620,唯一的不同是2个最新的(购买和配置3个月前)具有RAID控制器v710、256GB RAM和CPU,是2个物理Xeon E5-2680 2.80GHz。旧版本(大约在1年前购买和配置)具有RAID控制器v700、128GB RAM并运行在第2台物理Xeon E5-2690 2.90GHz上。BIOS已更新,所有驱动程序已更新为最新版本,等等。所有正在运行的SQL Server 2008R2 Enterprise(SP1)已更新为最新CU和Windows 2012R2 Standard。两者都在200 GB SSD x5 RAID10上运行。每个数据库上仅运行一个数据库,使用调用SSIS程序包的作业进行同步。我们的系统管理员已进行了大量性能和压力测试,以确保我们没有任何硬件或网络遗漏配置或故障。不出所料,最新的表现出更好的性能结果。到目前为止,一切都很好。

在Kibana的屏幕截图中可以看到我们遇到的问题。黄色和橙色是2台较新的服务器(表上为6.7),在所有其他服务器之下。完全可见这2台新服务器的响应时间较慢。不仅如此,而且这2台服务器的负载也比2台旧服务器(表上的浅蓝色和深蓝色线-4,5)要少一些。

在此处输入图片说明 有几个监视脚本,用于收集有关性能计数器的信息。尽可能地利用DMV和第三个监视工具进行挖掘,我掌握了很多信息。但是这里应该有(ofc)我缺少的东西,因为我找不到这种较慢的响应时间的答案。

这两个最新的服务器使用的RAM较少,但是与其他较旧的服务器相比,这是可以预期的,因为它们的负载较低。

| Server Name| Mem_MB |    Mem_GB    | Server_RAM_GB | SQL_max_mem_GB| SQL_min_mem_GB |
|------------|--------|--------------|---------------|---------------|----------------|
|      4     |  41108 | 40.145263671 |     128       |      120      |      16        |
|      5     |  61272 | 59.836425781 |     128       |      120      |      16        |
|      6     |  34117 | 33.317626953 |     256       |      250      |      16        |
|      7     |  33764 | 32.972656250 |     256       |      250      |      16        |

所有服务器的更多RAM配置如下:

| Server Name | Total_Page_File_In_MB | Available_Page_File_MB | Kernel_Paged_Pool_MB | Kernel_Nonpaged_Pool_MB |
|-------------|-----------------------|------------------------|----------------------|-------------------------|
| 4           | 180160                | 130042                 | 249                  | 98                      |
| 5           | 148416                | 77246                  | 249                  | 110                     |
| 6           | 301010                | 260453                 | 132                  | 99                      |
| 7           | 301010                | 260454                 | 143                  | 108                     |

在所有服务器上运行以下查询将显示相同的配置参数:

SELECT * FROM master.sys.configurations

我可以继续显示更多的信息,但是我不确定是否需要什么。关于我应该检查什么的任何线索?

我已经阅读了MS SQL Server 2008中的“性能问题疑难解答”中的白皮书,并从中获取了许多DMV的查询。

根据要求编辑

EXEC sp_configure 'max server memory (MB)'

| Server Name | name                   | minimum | maximum    | config_value | run_value |
|-------------|------------------------|---------|------------|--------------|-----------|
| 4           | max server memory (MB) | 16      | 2147483647 | 120000       | 120000    |
| 5           | max server memory (MB) | 16      | 2147483647 | 120000       | 120000    |
| 6           | max server memory (MB) | 16      | 2147483647 | 250000       | 250000    |
| 7           | max server memory (MB) | 16      | 2147483647 | 250000       | 250000    |

至于maxdop我们一直在使用它,结果是:

 EXEC sp_configure 'max degree of parallelism'

| Server Name |            name           | minimum | maximum | config_value | run_value |
|:-----------:|:-------------------------:|:-------:|:-------:|:------------:|:---------:|
|      4      | max degree of parallelism |    0    |   1024  |       1      |     1     |
|      5      | max degree of parallelism |    0    |   1024  |       1      |     1     |
|      6      | max degree of parallelism |    0    |   1024  |       1      |     1     |
|      7      | max degree of parallelism |    0    |   1024  |       1      |     1     |

评论不作进一步讨论;此对话已转移至聊天
保罗·怀特9

Answers:


1

此图像说明了一切。

在此处输入图片说明

感谢Kin指出您的问题和相关答案。在此过程中,我学到了很多东西。通过调查您的详细问题,我考虑过要这样做,比较我们最繁重的查询的执行计划……瞧!问题是原本应该执行的工作已经进行了两周,并且禁用了计划。现在,我必须检查为什么禁用了它,以及何时完全禁用了它。现在一切运行顺利。蓝线是一台由于维护而未收到请求的服务器,并且没有死。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.