Sql-Server-2008-R2

最新伺服器上的性能較低

  • August 29, 2017

我們有幾台生產中的數據庫伺服器,其中 4 台具有非常相似的硬體配置。Dell PowerEdge R620,唯一的區別是 2 個最新的(3 個月前購買和配置)具有 RAID 控制器 v710、256GB RAM 和 CPU 是 2 個物理 Xeon E5-2680 2.80GHz。舊的(大約 1 年前購買和配置)具有 RAID 控制器 v700、128GB RAM 並在 witl 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)我在這裡遺漏的東西,因為我找不到這個較慢的響應時間的答案。

2 台最新的伺服器使用較少的 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 Troubleshooting Performance Problems in 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     |

這張圖片說明了一切。

在此處輸入圖像描述

感謝 Kin 指出您的問題和相關答案。在這個過程中我學到了很多。通過查看您的詳細問題,我想這樣做,比較我們最重查詢的執行計劃……瞧!問題是本應執行的工作已經有幾週的時間了,但計劃被禁用。現在我必須檢查它為什麼被禁用以及何時被禁用。現在一切都在順利進行。藍線是一台伺服器由於維護沒有收到請求,還沒有死。

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/75487