提升vSphere性能的11項技術
提升vSphere性能可能和移除不必要的虛擬機限制一樣簡單,也可能和重構存儲LUN序列一樣復雜。
VMware的高級系統工程師以及性能專家Niran Even Chen在VMUG 2013大會的演講中分享了有關vSphere性能的一些***實踐。當vSphere性能沒有達到預期或者想通過升級獲得***效益時,可以參考這些***實踐。
1. 不要設置關聯規則
VMware vSphere將在可用的服務器上為虛擬機部署選擇***的路徑。在測試或者對服務器故障進行診斷時,關聯規則能夠發揮用武之地。
2. 不要設置資源限制
和資源預留或者資源共享相反,即使需要使用而且資源是可用的,資源限制都將阻止虛擬機使用更多的資源。即使你不是有意設置資源限制,但在模板克隆中存在的bug可能會導致這類問題出現。如果性能低下和人為因素有關,那么請檢查資源限制并移除該限制。
3. 升級硬件
比較新的硬件能夠感知虛擬化,反之亦然。例如,使用Intel的處理器,你可以打開Intel的超級線程同步多線程芯片技術。VMware vSphere能夠使用Hyper-V超線程在相同的時間內調度更多的進程。
4. 了解vSphere的CPU調度器
使用松散的共同調度機制,CPU調度器同時只調度虛擬機的部分CPU。和之前的CPU調度技術相比,CPU調度器對延遲有明顯的影響。
5. 減少虛擬機
即使是空閑的vCPU也會使用物理CPU資源,這浪費了CPU的指令周期。使用vCenter Operations Manager(vCOps)報表,esxtop并查看vCOps的CPU就緒值以及CO-STOP值。如果vCPU在等待使用物理CPU,那么就緒時間參數將會體現出來,如果應用不知道如何消耗所有已分配的虛擬資源,那么CO-STOP參數將會體現出來。
6. 不要過度分配活動內存
這將會導致大量的內存數據交換到磁盤中。這是vSphere最不想使用的內存管理技術。
7. 盡可能在非一致性內存訪問(NUMA)模型中設置應用程序
某些應用程序能夠感知NUMA;其他不能。例如SQL能夠自動感知NUMA,但是Oracle默認關閉了NUMA感知。因此使用Oracle時在NUMA模型內設置虛擬機更為重要。VMware vMUMA允許客戶操作系統洞察NUMA架構并將CPU的性能提升5%到10%,在特定條件下能夠達到30%。vCPU數量超過8顆時將自動開啟內存管理特性。
8. 使用VMXNET3
該高性能虛擬網卡能夠節省高網絡負載虛擬機的CPU功耗,并減少網絡延遲。建議你廣泛采用這一***實踐。
9. 如果虛擬機負載對網絡敏感,那么要在主機的網卡上關閉增強中斷結合
增強中斷結合也稱為中斷調節,是為了保護主機CPU遇到太多的中斷并簡化包處理過程。但是在特定條件下可能會增加延遲,因為有新的數據包時才會通知主機。
10. 檢查應用延遲;應用延遲應該為0
如果網絡延遲沒有導致性能問題,那么通過檢查數據包傳輸可以判斷延遲是否來自于應用。
11. 與存儲管理員協作整合存儲LUN的序列
當多個虛擬機試圖同時向hypervisor發送I/O時性能可能會遇到問題,產生I/O攪拌機效應。























