楊清玉1,李軒2,李金麗1,穆芳成1
?。?.中標(biāo)軟件有限公司 測(cè)試認(rèn)證中心,北京 100190;2.航天恒星科技有限公司 系統(tǒng)工程中心,北京 100086)
摘要:該文設(shè)計(jì)了一種虛擬桌面容量評(píng)測(cè)系統(tǒng)。在虛擬機(jī)中運(yùn)行工作負(fù)載,對(duì)指定操作的響應(yīng)時(shí)間和性能數(shù)據(jù)進(jìn)行周期性采樣。通過指定操作的響應(yīng)時(shí)間來計(jì)算平均響應(yīng)時(shí)間,確定基準(zhǔn)響應(yīng)時(shí)間和閾值響應(yīng)時(shí)間;繪制響應(yīng)時(shí)間曲線圖、虛擬機(jī)資源使用監(jiān)控圖和主機(jī)資源使用監(jiān)控圖,通過對(duì)比平均響應(yīng)時(shí)間與閾值響應(yīng)時(shí)間,評(píng)測(cè)虛擬桌面容量,通過資源使用情況判斷環(huán)境運(yùn)行情況,輔助評(píng)測(cè)虛擬桌面容量,并能夠定位性能瓶頸。
關(guān)鍵詞:云計(jì)算;虛擬桌面;容量評(píng)測(cè)
0引言
云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計(jì)算機(jī)和其他設(shè)備[1]。虛擬化是指計(jì)算機(jī)元件在虛擬的基礎(chǔ)上運(yùn)行。虛擬桌面是虛擬化技術(shù)發(fā)展的一個(gè)分支,是指支持企業(yè)實(shí)現(xiàn)桌面系統(tǒng)的遠(yuǎn)程動(dòng)態(tài)訪問與數(shù)據(jù)中心統(tǒng)一托管的技術(shù)[2]。
近年來,出現(xiàn)了一些具有代表性的虛擬化系統(tǒng)性能評(píng)測(cè)方法及相應(yīng)的性能評(píng)測(cè)工具,如XenMon[3]、Xenoprof[4]、VMmark[5]等。但對(duì)于虛擬桌面容量的評(píng)測(cè),仍然缺乏相應(yīng)的評(píng)測(cè)方法。因此,如何更有針對(duì)性、更有效地對(duì)云計(jì)算環(huán)境下虛擬桌面容量進(jìn)行評(píng)測(cè)成為需要解決的問題。
1虛擬桌面容量評(píng)測(cè)系統(tǒng)描述
虛擬桌面容量評(píng)測(cè)系統(tǒng)主要包括四個(gè)部分:工作負(fù)載模塊、信息收集模塊、數(shù)據(jù)處理模塊和結(jié)果展示模塊。如圖1所示。
1.1工作負(fù)載模塊
根據(jù)真實(shí)的用戶行為模擬用戶工作負(fù)載。工作負(fù)載使用用戶日常使用的應(yīng)用程序,如Word、Excel、IE瀏覽器等。這些工作負(fù)載在運(yùn)行時(shí)會(huì)占用虛擬機(jī)的CPU、內(nèi)存、磁盤等資源,從而實(shí)現(xiàn)對(duì)虛擬機(jī)系統(tǒng)的加壓功能。工作負(fù)載根據(jù)并行的應(yīng)用數(shù)量和應(yīng)用組合分為輕負(fù)載、中負(fù)載和重負(fù)載三種工作負(fù)載類型,不同的工作負(fù)載占用的虛擬機(jī)資源不同。
開始測(cè)試時(shí),系統(tǒng)連接虛擬桌面并登錄虛擬機(jī)系統(tǒng),自動(dòng)執(zhí)行預(yù)設(shè)的工作負(fù)載,對(duì)虛擬機(jī)系統(tǒng)生成壓力。
1.2信息收集模塊
測(cè)試過程中,系統(tǒng)周期性采樣虛擬機(jī)在運(yùn)行工作負(fù)載時(shí)指定操作的響應(yīng)時(shí)間,監(jiān)測(cè)虛擬機(jī)以及虛擬機(jī)所在主機(jī)的性能數(shù)據(jù)。
1.2.1操作響應(yīng)時(shí)間
系統(tǒng)周期性采樣虛擬機(jī)5種操作的響應(yīng)時(shí)間以及采樣發(fā)生時(shí)所在環(huán)境中運(yùn)行工作負(fù)載的虛擬機(jī)數(shù)量。采樣的5種操作包括啟動(dòng)記事本、啟動(dòng)記事本的打開對(duì)話框、啟動(dòng)記事本打印對(duì)話框、啟動(dòng)Word文檔、使用WinRAR壓縮文件。
1.2.2性能監(jiān)測(cè)
系統(tǒng)周期性采樣虛擬機(jī)和虛擬機(jī)所在主機(jī)的性能數(shù)據(jù)以及環(huán)境中運(yùn)行工作負(fù)載的虛擬機(jī)數(shù)量。性能數(shù)據(jù)包括CPU使用率和內(nèi)存使用率。
1.3數(shù)據(jù)處理模塊
當(dāng)測(cè)試結(jié)束后,系統(tǒng)對(duì)收集到的數(shù)據(jù)進(jìn)行處理。根據(jù)指定操作的響應(yīng)時(shí)間計(jì)算平均響應(yīng)時(shí)間,并確定基準(zhǔn)響應(yīng)時(shí)間和閾值響應(yīng)時(shí)間。
1.4結(jié)果展示模塊
系統(tǒng)根據(jù)平均響應(yīng)時(shí)間繪制響應(yīng)時(shí)間曲線圖,標(biāo)記不同虛擬機(jī)數(shù)量下對(duì)應(yīng)的平均響應(yīng)時(shí)間、最大響應(yīng)時(shí)間、最小響應(yīng)時(shí)間以及環(huán)境的基準(zhǔn)響應(yīng)時(shí)間和閾值響應(yīng)時(shí)間。如果在某虛擬機(jī)數(shù)量下對(duì)應(yīng)的平均響應(yīng)時(shí)間大于閾值響應(yīng)時(shí)間,則可在此之前確定虛擬桌面最大容量。
系統(tǒng)根據(jù)收集到的虛擬機(jī)性能監(jiān)測(cè)數(shù)據(jù)繪制虛擬機(jī)資源使用曲線圖,通過該曲線圖可以監(jiān)測(cè)虛擬機(jī)具體運(yùn)行情況,判斷虛擬機(jī)是否在運(yùn)行過程中出現(xiàn)阻塞以及阻塞的原因。
系統(tǒng)根據(jù)主機(jī)性能監(jiān)測(cè)數(shù)據(jù)繪制主機(jī)資源使用曲線圖。該曲線圖可以輔助判斷虛擬桌面容量,幫助尋找環(huán)境性能瓶頸。
2評(píng)測(cè)指標(biāo)的量化算法
2.1總體響應(yīng)時(shí)間
評(píng)測(cè)系統(tǒng)根據(jù)虛擬機(jī)中記錄的每種操作的響應(yīng)時(shí)間計(jì)算每次采樣的總體響應(yīng)時(shí)間。由于每種操作的響應(yīng)時(shí)間是不同的,例如使用WinRAR軟件壓縮文件的時(shí)間遠(yuǎn)遠(yuǎn)大于打開記事本的“打開對(duì)話框”的時(shí)間。為了確保每種操作的響應(yīng)時(shí)間對(duì)總體響應(yīng)時(shí)間的影響相同,總體響應(yīng)時(shí)間等于不同操作的響應(yīng)時(shí)間加權(quán)后求和,計(jì)算方法如式(1)所示。fi為第i種操作響應(yīng)時(shí)間的權(quán)重,Tjki為運(yùn)行工作負(fù)載的虛擬機(jī)個(gè)數(shù)為j的第k次采樣結(jié)果中的第i種操作的響應(yīng)時(shí)間,n為操作的種類,Tjk為運(yùn)行工作負(fù)載的虛擬機(jī)個(gè)數(shù)為j的第k次采樣的總體響應(yīng)時(shí)間。
2.2平均響應(yīng)時(shí)間
根據(jù)總體響應(yīng)時(shí)間計(jì)算平均響應(yīng)時(shí)間,計(jì)算步驟如下:
(1)確定樣本數(shù)量
?、賹⑻摂M機(jī)個(gè)數(shù)為j時(shí)的所有采樣的總體響應(yīng)時(shí)間進(jìn)行升序排序。
?、谌绻蓸訑?shù)大于最小樣本數(shù)量(默認(rèn)為3),則去除樣本中最大5%和最小5%的數(shù)據(jù)(至少去除一個(gè)最大值,一個(gè)最小值),剩余的采樣數(shù)m為用于計(jì)算平均響應(yīng)時(shí)間的樣本數(shù)。
?。?)計(jì)算平均響應(yīng)時(shí)間
對(duì)運(yùn)行工作負(fù)載虛擬機(jī)個(gè)數(shù)為j時(shí)的m個(gè)總體響應(yīng)時(shí)間求平均,得到運(yùn)行工作負(fù)載虛擬機(jī)個(gè)數(shù)為j時(shí)的平均響應(yīng)時(shí)間Tj,如式(2)所示。
2.3基準(zhǔn)響應(yīng)時(shí)間計(jì)算
基準(zhǔn)響應(yīng)時(shí)間(Baseline)代表了測(cè)試環(huán)境中最快的響應(yīng)時(shí)間?;鶞?zhǔn)響應(yīng)時(shí)間最大的作用是幫助計(jì)算閾值響應(yīng)時(shí)間(Threshold)。
首先將所有平均響應(yīng)時(shí)間進(jìn)行升序排序,然后根據(jù)式(3)計(jì)算基準(zhǔn)響應(yīng)時(shí)間。
基準(zhǔn)響應(yīng)時(shí)間的計(jì)算存在以下3種情況:
?。?)測(cè)試虛擬機(jī)個(gè)數(shù)x等于1時(shí),該虛擬機(jī)的平均響應(yīng)時(shí)間即為基準(zhǔn)響應(yīng)時(shí)間。
(2)測(cè)試虛擬機(jī)個(gè)數(shù)為1<x≤5時(shí),將所有平均響應(yīng)時(shí)間進(jìn)行升序排序,去除一個(gè)最大的平均響應(yīng)時(shí)間,將剩余平均響應(yīng)時(shí)間求平均,結(jié)果作為基準(zhǔn)響應(yīng)時(shí)間。
?。?)測(cè)試虛擬機(jī)個(gè)數(shù)x>5時(shí),將所有平均響應(yīng)時(shí)間進(jìn)行升序排序,對(duì)最低的5個(gè)平均響應(yīng)時(shí)間求平均,結(jié)果作為基準(zhǔn)響應(yīng)時(shí)間。
2.4閾值響應(yīng)時(shí)間計(jì)算
閾值響應(yīng)時(shí)間等于基準(zhǔn)響應(yīng)時(shí)間加1 000,即:
3系統(tǒng)實(shí)驗(yàn)
3.1環(huán)境部署
測(cè)試環(huán)境選用的服務(wù)器配置為Intel Xeon 1路4核CPU,開啟超線程,CPU主頻為3.70 GHz,物理內(nèi)存40 GB,Swap 24 GB,采用SSD固態(tài)硬盤,硬盤容量250 GB。
服務(wù)器所安裝的操作系統(tǒng)為中標(biāo)麒麟高級(jí)服務(wù)器操作系統(tǒng),云環(huán)境部署中標(biāo)麒麟微云操作系統(tǒng)2.0。在云環(huán)境中創(chuàng)建35個(gè)Windows7虛擬機(jī),虛擬機(jī)配置為1個(gè)虛擬內(nèi)核,1.5 GB內(nèi)存,系統(tǒng)磁盤40 GB。
3.2測(cè)試方法
采用遞增的方式,連接虛擬桌面,登錄虛擬機(jī)系統(tǒng),在虛擬機(jī)中運(yùn)行中等工作負(fù)載。中等負(fù)載同時(shí)運(yùn)行4~6個(gè)應(yīng)用,該工作負(fù)載一共運(yùn)行8個(gè)應(yīng)用,完成以下任務(wù):
?。?)Word:打開一個(gè)Word文檔,編輯文檔。
?。?)Excel:打開一個(gè)Excel文件,編輯文件。
?。?)Power Point:打開一個(gè)PPT演示文稿,幻燈片放映、新建幻燈片、編輯幻燈片。
?。?)IE:瀏覽網(wǎng)頁、播放在線視頻。
?。?)Adobe Reader:打開一個(gè)PDF文件、查找內(nèi)容。
?。?)Windows照片查看器:查看系統(tǒng)自帶的示例圖片。
?。?)Windows Media Player:打開一個(gè)本地視頻,循環(huán)播放。
(8)計(jì)算器:打開計(jì)算器,執(zhí)行加減乘除等運(yùn)算。
評(píng)測(cè)系統(tǒng)周期性地采樣虛擬機(jī)和虛擬機(jī)所在主機(jī)的性能數(shù)據(jù)以及當(dāng)前環(huán)境中運(yùn)行工作負(fù)載的虛擬機(jī)數(shù)量。
3.3結(jié)果分析
3.3.1響應(yīng)時(shí)間結(jié)果
35臺(tái)虛擬機(jī)運(yùn)行中等負(fù)載的響應(yīng)時(shí)間數(shù)據(jù)如表1所示。由于運(yùn)行的虛擬機(jī)個(gè)數(shù)大于5個(gè),所以基準(zhǔn)響應(yīng)時(shí)間等于最小的5個(gè)平均響應(yīng)時(shí)間的平均值,即為912 ms,閾值響應(yīng)時(shí)間為1 912 ms。當(dāng)運(yùn)行中等負(fù)載的虛擬機(jī)數(shù)量為34個(gè)時(shí),平均響應(yīng)時(shí)間為2 063 ms,大于閾值響應(yīng)時(shí)間,所以該環(huán)境的虛擬桌面容量取值33個(gè)。
35臺(tái)虛擬機(jī)運(yùn)行中等負(fù)載的響應(yīng)時(shí)間曲線如圖2所示。
3.3.2虛擬機(jī)資源使用監(jiān)控
以其中一個(gè)虛擬機(jī)為例,虛擬機(jī)資源使用曲線圖如圖3所示。虛擬機(jī)的CPU使用率在40%~70%,內(nèi)存使用率在60%~80%,虛擬機(jī)系統(tǒng)運(yùn)行平穩(wěn)。
3.3.3主機(jī)資源使用監(jiān)控
主機(jī)資源使用曲線圖如圖4所示。由圖可知,隨著運(yùn)行工作負(fù)載的虛擬機(jī)數(shù)量的增多,主機(jī)的資源使用率也隨著增加。由該圖也可知,主機(jī)的內(nèi)存使用率最終接近100%,所以,可以通過增加主機(jī)內(nèi)存來提高虛擬桌面容量。
4結(jié)束語
本文設(shè)計(jì)了一種虛擬桌面容量評(píng)測(cè)系統(tǒng),在虛擬機(jī)中運(yùn)行工作負(fù)載,周期性采樣指定操作的響應(yīng)時(shí)間和性能數(shù)據(jù)。根據(jù)指定操作的響應(yīng)時(shí)間來計(jì)算平均響應(yīng)時(shí)間、基準(zhǔn)響應(yīng)時(shí)間和閾值響應(yīng)時(shí)間。通過對(duì)比平均響應(yīng)時(shí)間與閾值響應(yīng)時(shí)間,從而判斷是否達(dá)到虛擬桌面最大容量。通過
資源使用曲線圖監(jiān)控虛擬機(jī)和主機(jī)運(yùn)行情況,并輔助判斷是否達(dá)到虛擬桌面最大容量。本文以公司產(chǎn)品為例,
評(píng)測(cè)了虛擬桌面容量,并幫助定位性能瓶頸。這些能夠?yàn)樵骗h(huán)境中的虛擬桌面規(guī)劃部署以及性能改進(jìn)提供參考依據(jù)。
參考文獻(xiàn)
?。?] Wikipedia. Cloud computing[EB/OL].[2016-05-30].https://en.wikipedia.org/wiki/Cloud_computing.
?。?] 馬薈. 虛擬桌面落云端[J]. 互聯(lián)網(wǎng)周刊,2015, 5(9):60-62.
[3] SOLTESZ S, POTZL H, FIUCZYNSKI M E, et al. Containerbased operating system virtualization: a scalable, highperformance alternative to hypervisors[C]. Proceedings of the 2007 Eurosys Conference, Mar 2123,2007,Lisbon, Portugal. New York, USA: ACM, 2007:275-287.
?。?] MENON A, SANTOS J R, TURNER Y, et al. Diagnosing performance overheads in the xen virtual machine environment[C]. Proceedings of VEE’05. Chicago, Illinois, USA: [s. n.], 2005:13-23.
?。?] MAKHIJA V, HERNDON B, SMITH P, et al. VMmark: a scalable benchmark for virtualized systems[R]. VMware Inc, CA, Tech. Rep. VMware TR 2006-002, 2006.