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