VSphere 4.0 上的 SQL Server 效能

VSphere 4.0 上的 SQL Server 效能

我們遇到了一個無法用 VMWare 環境解釋的效能問題,我希望這裡有人能夠提供協助。我們有一個使用資料庫後端的 Web 應用程式。我們在 Windows 2003 R2 上的實體節點和虛擬節點之間設定了 SQL 2005 叢集。兩台實體伺服器都是相同的 2950,配備 2 個 Xeaon x5460 四核心 CPU 和 64GB 內存,其中 16GB 分配給作業系統。我們為所有叢集磁碟使用 iSCSI San。問題是,當在向叢集節點添加 CPU 的重複壓力測試下使用該應用程式時,實體節點從 1 個 pCPU 擴展到 8 個 pCPU,這意味著我們看到效能持續提高。在測試運行Vsphere 的節點時,我們預期虛擬化效能會下降12%,但我們仍然像物理一樣從1 個vCPU 擴展到4 個vCPU,但超出此效能會下降,當我們達到8 個vCPU 時,我們會看到效能下降數字比 4 個 vCPU 時差。同樣,兩個節點在硬體、來賓作業系統、SQL 配置等方面的配置相同,並且除了系統上的測試之外沒有任何流量。虛擬伺服器上沒有其他虛擬機,因此不應該存在資源競爭。我們已聯繫 VMWare 尋求協助,但他們並沒有真正提出任何建議,例如設定 SQL 處理器關聯性,雖然有幫助,但會對每個方塊產生相同的淨效果,並且至少不會改變我們的結果。我們已經查看了所有有關 VSphere 的 VMWare SQL 調優指南,但沒有任何好處,請幫忙!

答案1

我很猶豫是否將此作為答案輸入,因為我對此沒有太多具體的支持,但這可能是您所看到的問題的原因。我以前聽說過(並且頁排序支援它),當 VM 具有多個 CPU 時,VMW​​are CPU 調度會變得更加困難。對於單CPU虛擬機,只需要調度一個主機處理器。但是,當一台虛擬機器有多個處理器時,VMW​​are 必須安排多個處理器可供該虛擬機器使用,這可能需要更長時間。隨著虛擬機器 CPU 數量的增加,這將變得越來越難以調度,這意味著虛擬機器實際上會看到更差的效能,因為它很難獲得分配給它的處理器時間。

另外,我重新閱讀了您的上一條評論,最近我也遇到了 vSphere 中的爭用問題。您可能想要嘗試的另一件事(如果您還沒有嘗試過)是增加該虛擬機器的資源分配,即使它是目前唯一的虛擬機器。

答案2

你這裡的設定非常簡潔;-)

vCPU 是否已達到最大容量? CPU 等待、CPU 就緒和 CPU 使用率的圖表告訴您什麼?

隨著向虛擬機器添加的 vCPU 越多,主機系統上會產生更多的開銷來管理 vCPU 並將其對應到實體 CPU。在某些時候,僅透過添加更多 vCPU 並不能從虛擬機器中獲得更多效能。

您檢查 iSCSI SAN 是否有效能問題?檢查磁碟讀取和磁碟寫入請求的圖表,當然還有磁碟讀取和寫入速率,並將它們與實體叢集成員的磁碟讀取和寫入速率進行比較。

也許某些價值觀可以為您指引正確的方向。

答案3

澄清一下,您使用 8 核心 (2 x 4) ESX 機箱來託管單一 8 vCPU 虛擬機,並且沒有看到第 5 個及後續 vCPU 的實際效能提升,對嗎?我可以問為什麼你不使用與實體 SQL 盒相同的主機嗎?您在那裡使用了大約 5-6000 美元的 Enterprise Plus 許可證,但似乎沒有任何好處(即使您沒有看到效能問題) - 我不覺得抱歉。

相關內容