您現(xiàn)在的位置:首頁(yè) >關(guān)于我們 >行業(yè)新聞 >VMware架構(gòu)下虛擬機(jī)的性能監(jiān)控技術(shù)

VMware架構(gòu)下虛擬機(jī)的性能監(jiān)控技術(shù)

時(shí)間:2011年2月22日
虛擬環(huán)境下,傳統(tǒng)基于硬件的性能監(jiān)控代理端不能提供準(zhǔn)確的結(jié)果,甚至還會(huì)影響到整體性能。好在VMware架構(gòu)下可以采用其它方式來(lái)獲取關(guān)于整個(gè)架構(gòu)的詳細(xì)信息。

  從操作的角度出發(fā),對(duì)性能和其它數(shù)據(jù)的監(jiān)控是非常重要的。多數(shù)客戶(hù)借助硬件及性能監(jiān)控代理端實(shí)現(xiàn)對(duì)硬件和服務(wù)器服務(wù)器租用健康狀況的實(shí)時(shí)檢查。

  盡管硬件代理端可以監(jiān)控ESX宿主機(jī)的狀態(tài),卻無(wú)法保證虛擬機(jī)的健康。因?yàn)樘摂M機(jī)硬件完全是基于物理平臺(tái)基礎(chǔ)上的。另外多數(shù)代理需要跟特殊的芯片通訊,而虛擬機(jī)內(nèi)沒(méi)有這樣的芯片,所以使用硬件代理通常會(huì)影響虛擬機(jī)性能。

  硬件客戶(hù)端最佳實(shí)踐

  不要在虛擬機(jī)安裝硬件代理程序,這會(huì)導(dǎo)致顯著的性能問(wèn)題。而在決定是否需要購(gòu)買(mǎi)新的ESX主機(jī)以及如何在ESX宿主機(jī)之間做好負(fù)載均衡等問(wèn)題時(shí),性能監(jiān)控結(jié)果成為極其重要的參考。雖然在ESX主機(jī)間的負(fù)載均衡可以自動(dòng)進(jìn)行,絕大多數(shù)的跨主機(jī)負(fù)載均衡還是手工完成的,畢竟決定是否需要在宿主機(jī)之間遷移虛機(jī)的因素有很多方面。

  也許有人會(huì)提出DRS(Dynamic Resource Scheduling)功能可以實(shí)現(xiàn)所有宿主機(jī)之間的負(fù)載均衡,但是DRS實(shí)際上只在CPU發(fā)生爭(zhēng)用的時(shí)候啟動(dòng)遷移。如果您的環(huán)境中從不發(fā)生CPU爭(zhēng)用,不管DRS如何設(shè)置,依然需要依靠手動(dòng)來(lái)平衡虛擬機(jī)負(fù)載。

  首先一點(diǎn)要理解的是向宿主機(jī)添加額外的虛機(jī)將影響到整個(gè)ESX主機(jī)的性能,有時(shí)影響很小,而某些情況下會(huì)有顯著影響。第二點(diǎn)是了解性能監(jiān)控工具在虛擬機(jī)內(nèi)是如何運(yùn)行的。例如Windows系統(tǒng)中它通過(guò)保留一個(gè)計(jì)數(shù)器,遇到空閑周期時(shí)計(jì)數(shù)增加一位,最后從整個(gè)內(nèi)部CPU時(shí)鐘周期內(nèi)減去相應(yīng)的時(shí)間片數(shù)量。

  由于虛擬機(jī)在空閑時(shí)處于休眠狀態(tài),所以這種計(jì)算是非常不準(zhǔn)確的,資源占用率結(jié)果會(huì)比實(shí)際值偏高。而且通常虛擬機(jī)數(shù)量要比CPU個(gè)數(shù)或核心數(shù)量多,導(dǎo)致它們之間需要共享CPU周期。在虛機(jī)數(shù)量增多時(shí),每臺(tái)虛機(jī)獲得的CPU時(shí)間片就會(huì)變短。

  這樣,在兩次使用CPU之間的間隔時(shí)間越來(lái)越長(zhǎng),也導(dǎo)致了更長(zhǎng)的CPU周期。而監(jiān)控工具是基于CPU周期來(lái)計(jì)算性能和時(shí)間的,收集的數(shù)據(jù)就產(chǎn)生了很大的偏差。當(dāng)我們希望可以把系統(tǒng)調(diào)整到期望狀態(tài)時(shí),就要借助通過(guò)VMware vCenter或其它性能管理工具獲取的多種基本數(shù)據(jù)集進(jìn)行。

  在得到相應(yīng)的基數(shù)后,內(nèi)部的虛擬機(jī)性能工具可以決定是否性能受到了影響。不過(guò)它提供的并不是絕對(duì)數(shù)字,而是基于基數(shù)上的改變率。例如,假設(shè)從虛擬機(jī)內(nèi)獲得的CPU占用率基數(shù)大約在20%,當(dāng)突然顯示40%的時(shí)候,我們可以知道在原有基礎(chǔ)上發(fā)生了2倍的變化。這并不代表原始值是20%,它可能是某一個(gè)具體數(shù)字。

  而且,即使顯示出該虛擬機(jī)的CPU占用率超出一倍,對(duì)物理服務(wù)器的占用率也不是翻倍關(guān)系。因此,如果想獲得關(guān)于虛擬機(jī)的性能數(shù)字,需要一些不在虛擬機(jī)內(nèi)部運(yùn)行的軟件做參考。VMware vCenter或第三方工具,如Vizioncore vFoglight、基于命令行的esxtop或者是遠(yuǎn)程CLI的resxtop,都是運(yùn)行于虛擬機(jī)之外的可用于衡量虛擬機(jī)和ESX主機(jī)性能的工具。此外,它們都可以提供ESX宿主機(jī)情況的整體視圖。

  關(guān)鍵是要意識(shí)到當(dāng)通過(guò)vCenter或其它某個(gè)工具觀察到ESX主機(jī)的占用率長(zhǎng)期位于80%以上的時(shí)候,需要增加新的ESX主機(jī)還要把原主機(jī)上的負(fù)載進(jìn)行遷移。同樣的機(jī)制也適用于需要衡量網(wǎng)絡(luò)和存儲(chǔ)帶寬資源的時(shí)候。

  通過(guò)vMotion技術(shù)可以在不停機(jī)的情況下跨宿主機(jī)進(jìn)行虛擬機(jī)遷移,因此ESX主機(jī)的負(fù)載均衡可以每天進(jìn)行,甚至是在一天內(nèi)分時(shí)段進(jìn)行。雖然過(guò)程可以是自動(dòng)的,手動(dòng)調(diào)配vMotion和Storage vMotion還是可以對(duì)系統(tǒng)和容量有更好的了解,以備在需要時(shí)重新進(jìn)行平衡。

  例如,如果ESX主機(jī)的CPU占用率達(dá)到95%,需要使用工具找出引發(fā)該問(wèn)題的虛擬機(jī);接下來(lái),需要通過(guò)vMotion把該虛機(jī)遷移到空閑的或壓力較小的主機(jī)上。如果這種遷移總是發(fā)生,最好可以把這臺(tái)虛擬機(jī)固定到某臺(tái)壓力較小的主機(jī)上。這也是建議配置N+1模式主機(jī)原因。

  增加虛擬機(jī)部署會(huì)增加CPU占用率。在下一章中對(duì)部署方式有詳細(xì)的介紹,不過(guò)我們建議創(chuàng)建一個(gè)可以訪問(wèn)所有LUN的調(diào)度服務(wù)器服務(wù)器租用。該服務(wù)器可以用于在部署新虛機(jī)時(shí)先進(jìn)行調(diào)試,直到該虛機(jī)滿(mǎn)足可以真實(shí)的生產(chǎn)環(huán)境服務(wù)器上運(yùn)行所需的前提條件后,再通過(guò)vMotion遷移。

  例如,有個(gè)用戶(hù)希望可以衡量在現(xiàn)有的網(wǎng)絡(luò)配置情況下,加入ESX主機(jī)后各個(gè)虛擬機(jī)的性能情況。為達(dá)到該目的,在解釋了CPU時(shí)間周期的問(wèn)題后,我們規(guī)劃出了具體執(zhí)行方案。

  這里使用了兩個(gè)工具:VMware vCenter和esxtop,可以通過(guò)服務(wù)器控制臺(tái)運(yùn)行或借助vMA以批處理方式(esxtop -b)。用于性能問(wèn)題分析時(shí),esxtop是最佳的工具,不過(guò)它會(huì)產(chǎn)生大量的數(shù)據(jù)用于稍后繪制圖表。vCenter每隔五分鐘或更長(zhǎng)時(shí)間取一個(gè)平均值用于數(shù)據(jù)存檔,它的實(shí)時(shí)數(shù)據(jù)收集間隔為20秒。Esxtop使用的是實(shí)時(shí)數(shù)據(jù)而不是平均數(shù),采集間隔默認(rèn)為5秒鐘,最小間隔可以設(shè)為2秒。

  該方案通過(guò)兩個(gè)工具衡量每臺(tái)虛擬機(jī)在運(yùn)行各自應(yīng)用時(shí)的性能。ESX主機(jī)的性能實(shí)際上很大強(qiáng)度上受到每臺(tái)虛擬機(jī)內(nèi)的應(yīng)用影響。意識(shí)到這點(diǎn)很重要,在討論性能問(wèn)題時(shí)不要只盯著某臺(tái)虛擬機(jī),而是對(duì)整個(gè)宿主機(jī)進(jìn)行通盤(pán)考慮。

  這也是為什么VMware通常不允許私自發(fā)布性能數(shù)據(jù),每次結(jié)果根據(jù)負(fù)載的不同差異很大。最好的辦法是用自己的應(yīng)用來(lái)親自測(cè)試和分析,因?yàn)槠渌镜奶摂M應(yīng)用測(cè)試結(jié)果對(duì)另一家公司而言毫無(wú)意義。即使是應(yīng)用程序相同,每個(gè)環(huán)境的負(fù)載情況也會(huì)千差萬(wàn)別。

  如果您依然希望可以橫向?qū)Ρ菶SX主機(jī)性能,VMware開(kāi)發(fā)了用于多臺(tái)宿主機(jī)和hypervisor平臺(tái)間對(duì)比的通用負(fù)載模型VMmark。不幸的是,VMmark還沒(méi)有成為標(biāo)準(zhǔn)。

Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營(yíng)性ICP/ISP證 備案號(hào):B1-20180452   豫公網(wǎng)安備 41019702002018號(hào)    電子營(yíng)業(yè)執(zhí)照