楊清玉1,李軒2,,李金麗1,,穆芳成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ì)算步驟如下:
?。?)確定樣本數(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ù),。
(2)計(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í)間,。
?。?)測(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文件,,編輯文件,。
(3)Power Point:打開一個(gè)PPT演示文稿,,幻燈片放映,、新建幻燈片、編輯幻燈片,。
?。?)IE:瀏覽網(wǎng)頁、播放在線視頻,。
?。?)Adobe Reader:打開一個(gè)PDF文件、查找內(nèi)容,。
?。?)Windows照片查看器:查看系統(tǒng)自帶的示例圖片。
?。?)Windows Media Player:打開一個(gè)本地視頻,,循環(huán)播放。
?。?)計(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.
?。?] 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.
[5] 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.