您現(xiàn)在的位置:首頁 >關(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é)果,甚至還會影響到整體性能。好在VMware架構(gòu)下可以采用其它方式來獲取關(guān)于整個(gè)架構(gòu)的詳細(xì)信息。

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

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

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

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

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

  首先一點(diǎn)要理解的是向宿主機(jī)添加額外的虛機(jī)將影響到整個(gè)ESX主機(jī)的性能,有時(shí)影響很小,而某些情況下會有顯著影響。第二點(diǎn)是了解性能監(jiān)控工具在虛擬機(jī)內(nèi)是如何運(yùn)行的。例如Windows系統(tǒng)中它通過保留一個(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é)果會比實(shí)際值偏高。而且通常虛擬機(jī)數(shù)量要比CPU個(gè)數(shù)或核心數(shù)量多,導(dǎo)致它們之間需要共享CPU周期。在虛機(jī)數(shù)量增多時(shí),每臺虛機(jī)獲得的CPU時(shí)間片就會變短。

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

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

  而且,即使顯示出該虛擬機(jī)的CPU占用率超出一倍,對物理服務(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)鍵是要意識到當(dāng)通過vCenter或其它某個(gè)工具觀察到ESX主機(jī)的占用率長期位于80%以上的時(shí)候,需要增加新的ESX主機(jī)還要把原主機(jī)上的負(fù)載進(jìn)行遷移。同樣的機(jī)制也適用于需要衡量網(wǎng)絡(luò)和存儲帶寬資源的時(shí)候。

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

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

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

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

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

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

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

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

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