當(dāng)位于同一臺(tái)物理服務(wù)器上的部分工作負(fù)載面臨間歇性或持續(xù)性性能問題時(shí),肯定要評(píng)估資源限制的潛在影響以確保受折磨的虛擬機(jī)有足夠多的CPU與內(nèi)存資源。在嘗試遷移受影響的工作負(fù)載前進(jìn)行資源評(píng)估是個(gè)不錯(cuò)的注意,因?yàn)閷①Y源配置不合理的工作負(fù)載遷移到另一臺(tái)服務(wù)器上還會(huì)面臨同樣的問題,因此遷移不一定能夠表明資源配置有問題。
VMware ESXi提供了集成工具比如esxtop報(bào)告資源配置情況并有助于識(shí)別資源過度配置問題——可能會(huì)影響網(wǎng)絡(luò)性能。通過ESXi Shell以交互式方式開啟VMware esxtop工具并檢查位于正常運(yùn)行時(shí)間圖以下的CPU的平均負(fù)載數(shù)據(jù)。平均負(fù)載為1表明CPU被充分利用。低于1表明CPU未被充分利用,平均值超過1意味著CPU被過量使用。
例如,如果你發(fā)現(xiàn)平均負(fù)載值為2,那么ESXi可能需要兩倍的CPU資源來(lái)承載工作負(fù)載。就緒百分比(%READY)表明虛擬機(jī)就緒但CPU時(shí)間并未就緒的百分比,這個(gè)值應(yīng)該低于5%。如果你發(fā)現(xiàn)CPU過度使用而且%READY值往往很高,那么要給受影響的工作負(fù)載分配更多的CPU或者將其遷移到擁有額外CPU資源的其他服務(wù)器上。
還需要檢查VMware esxtop輸出中的“內(nèi)存過度分配平均值”參數(shù)。該參數(shù)更加棘手因?yàn)樗硎菊?qǐng)求的內(nèi)存值與可用內(nèi)存之間的比值減去1后的結(jié)果。如果值為0,那么請(qǐng)求的內(nèi)存值等于可用內(nèi)存,不存在內(nèi)存過量分配問題。如果值大于0,那么請(qǐng)求的內(nèi)存大于可用內(nèi)存,內(nèi)存過量分配可能導(dǎo)致工作負(fù)載出現(xiàn)性能問題。
例如虛擬機(jī)需要2GB,但主機(jī)只有1GB,那么內(nèi)存過量分配平均值參數(shù)值為1,表明存在過量分配。內(nèi)存過量分配可以通過給服務(wù)器增加更多的物理內(nèi)存、回收其他虛擬機(jī)沒有使用的內(nèi)存、將虛擬機(jī)遷移到擁有空閑內(nèi)存的其他服務(wù)器上解決。
有經(jīng)驗(yàn)的虛擬化管理員還可以檢查由于設(shè)置了不合理的內(nèi)存限制值而導(dǎo)致的過度的內(nèi)存膨脹或交換活動(dòng)。上述指標(biāo)是通過VMware esxtop工具中的內(nèi)存膨脹指標(biāo)(MCTLSZ)以及內(nèi)存交換指標(biāo)(SWCUR)體現(xiàn)的。例如,如果系統(tǒng)經(jīng)常報(bào)告異乎尋常的高膨脹(MCTLSZ)或高交換值(SWCUR),而可用內(nèi)存仍舊很多,那么性能過早地被破壞了。在這種情況下,可以將發(fā)生膨脹或交換活動(dòng)的指標(biāo)重新配置為更合理的內(nèi)存級(jí)別。