Sql-Server

在 VMWare ESXi 中優化 MSSQL 2008 伺服器

  • December 12, 2014

我通常在專用伺服器上執行我的 MSSQL 伺服器,但我們已經接受了一個在 VMWare ESXi 4 主機內執行其 SQL Server 的客戶端,坦率地說,它的執行就像垃圾一樣。

我們已經確定問題不是數據庫本身。我們將相同的數據庫部署到專用伺服器上,其規格低於 VMWare 來賓,它的執行速度至少快 5 倍。

伺服器是:

Dual Quad Core Xeon 2Ghz (I don't know the exact model)
24Gb RAM
4x 300Gb SAS (RAID 10)
ESXi 4

主持人是:

4x vCPUs
3Gb RAM
80Gb disk space
Server 2008 Standard
SQL Server 2008 Workgroup

主機上的其他 VM 的流量非常低。第二個 DC(幾乎未使用)、低流量 Web 伺服器和低容量終端伺服器(在任何給定時間約 5 個使用者)和一些其他雜項客人。

我很久以前讀過一篇關於在 Windows 和 SQL 伺服器中設置一大堆 Paging 設置以對其進行優化的文章,但我再也找不到它了 :(

是否有人可以提供任何提示或技巧來提高 SQL 性能?

好的,這裡有一些提示,沒有特定的性能受益順序;

  • 確保虛擬機在 7 型虛擬硬體上執行(它在虛擬機摘要中說明)
  • 確保所有 VM 磁碟都是胖而不是瘦
  • 升級到版本 4 更新 1
  • 確保所有虛擬機都安裝了最新的 vmtools
  • 對於 W2K8 虛擬機,使用“LSI SAS”磁碟控制器和 vmxnet3 NIC
  • 確保您已在作業系統中打開交換
  • 禁用螢幕保護程序
  • 將影片幀緩衝區設置為 4MB 或更少
  • 從所有 VM 中刪除任何不必要的虛擬硬體,例如磁片、串列、並行等。
  • 正如 Zypher 所說,在所有分配的 vCPU 可用之前, ESX 不會給 VM任何vCPU 時間- 嘗試將數量從 4 減少到 3 或 2(不要害怕給 VM 3、5 或 7 個 vCPU,它感覺很奇怪,但工作得很好),也看看你的其他虛擬機,如果他們不需要它們,減少他們的 vCPU - 這台機器真的沒有那麼多核心
  • 確保在 BIOS 中啟用硬體虛擬化,並針對性能調整所有電源管理選項
  • 查看您的 VM 的“份額”,根據重要性和目前行為考慮增加和/或降低各種份額值/優先級 - 還要認真考慮您的預訂選項 - 這些選項可以在競爭中產生巨大的差異。
  • 然後明顯看SQL VM的性能數據,特別是可用記憶體、%RDY和磁碟隊列長度/等待
  • 考慮將磁碟添加到陣列和/或為此 VM 提供專用 vmdk/數據儲存/磁碟

如果我想到任何好的,我會添加更多,祝你好運。

引用自:https://serverfault.com/questions/100320