楊清玉1,李軒2,李金麗1,穆芳成1
(1.中標軟件有限公司 測試認證中心,北京 100190;2.航天恒星科技有限公司 系統工程中心,北京 100086)
摘要:該文設計了一種虛擬桌面容量評測系統。在虛擬機中運行工作負載,對指定操作的響應時間和性能數據進行周期性采樣。通過指定操作的響應時間來計算平均響應時間,確定基準響應時間和閾值響應時間;繪制響應時間曲線圖、虛擬機資源使用監控圖和主機資源使用監控圖,通過對比平均響應時間與閾值響應時間,評測虛擬桌面容量,通過資源使用情況判斷環境運行情況,輔助評測虛擬桌面容量,并能夠定位性能瓶頸。
關鍵詞:云計算;虛擬桌面;容量評測
0引言
云計算是一種基于互聯網的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計算機和其他設備[1]。虛擬化是指計算機元件在虛擬的基礎上運行。虛擬桌面是虛擬化技術發展的一個分支,是指支持企業實現桌面系統的遠程動態訪問與數據中心統一托管的技術[2]。
近年來,出現了一些具有代表性的虛擬化系統性能評測方法及相應的性能評測工具,如XenMon[3]、Xenoprof[4]、VMmark[5]等。但對于虛擬桌面容量的評測,仍然缺乏相應的評測方法。因此,如何更有針對性、更有效地對云計算環境下虛擬桌面容量進行評測成為需要解決的問題。
1虛擬桌面容量評測系統描述
虛擬桌面容量評測系統主要包括四個部分:工作負載模塊、信息收集模塊、數據處理模塊和結果展示模塊。如圖1所示。
1.1工作負載模塊
根據真實的用戶行為模擬用戶工作負載。工作負載使用用戶日常使用的應用程序,如Word、Excel、IE瀏覽器等。這些工作負載在運行時會占用虛擬機的CPU、內存、磁盤等資源,從而實現對虛擬機系統的加壓功能。工作負載根據并行的應用數量和應用組合分為輕負載、中負載和重負載三種工作負載類型,不同的工作負載占用的虛擬機資源不同。
開始測試時,系統連接虛擬桌面并登錄虛擬機系統,自動執行預設的工作負載,對虛擬機系統生成壓力。
1.2信息收集模塊
測試過程中,系統周期性采樣虛擬機在運行工作負載時指定操作的響應時間,監測虛擬機以及虛擬機所在主機的性能數據。
1.2.1操作響應時間
系統周期性采樣虛擬機5種操作的響應時間以及采樣發生時所在環境中運行工作負載的虛擬機數量。采樣的5種操作包括啟動記事本、啟動記事本的打開對話框、啟動記事本打印對話框、啟動Word文檔、使用WinRAR壓縮文件。
1.2.2性能監測
系統周期性采樣虛擬機和虛擬機所在主機的性能數據以及環境中運行工作負載的虛擬機數量。性能數據包括CPU使用率和內存使用率。
1.3數據處理模塊
當測試結束后,系統對收集到的數據進行處理。根據指定操作的響應時間計算平均響應時間,并確定基準響應時間和閾值響應時間。
1.4結果展示模塊
系統根據平均響應時間繪制響應時間曲線圖,標記不同虛擬機數量下對應的平均響應時間、最大響應時間、最小響應時間以及環境的基準響應時間和閾值響應時間。如果在某虛擬機數量下對應的平均響應時間大于閾值響應時間,則可在此之前確定虛擬桌面最大容量。
系統根據收集到的虛擬機性能監測數據繪制虛擬機資源使用曲線圖,通過該曲線圖可以監測虛擬機具體運行情況,判斷虛擬機是否在運行過程中出現阻塞以及阻塞的原因。
系統根據主機性能監測數據繪制主機資源使用曲線圖。該曲線圖可以輔助判斷虛擬桌面容量,幫助尋找環境性能瓶頸。
2評測指標的量化算法
2.1總體響應時間
評測系統根據虛擬機中記錄的每種操作的響應時間計算每次采樣的總體響應時間。由于每種操作的響應時間是不同的,例如使用WinRAR軟件壓縮文件的時間遠遠大于打開記事本的“打開對話框”的時間。為了確保每種操作的響應時間對總體響應時間的影響相同,總體響應時間等于不同操作的響應時間加權后求和,計算方法如式(1)所示。fi為第i種操作響應時間的權重,Tjki為運行工作負載的虛擬機個數為j的第k次采樣結果中的第i種操作的響應時間,n為操作的種類,Tjk為運行工作負載的虛擬機個數為j的第k次采樣的總體響應時間。
2.2平均響應時間
根據總體響應時間計算平均響應時間,計算步驟如下:
(1)確定樣本數量
①將虛擬機個數為j時的所有采樣的總體響應時間進行升序排序。
②如果采樣數大于最小樣本數量(默認為3),則去除樣本中最大5%和最小5%的數據(至少去除一個最大值,一個最小值),剩余的采樣數m為用于計算平均響應時間的樣本數。
(2)計算平均響應時間
對運行工作負載虛擬機個數為j時的m個總體響應時間求平均,得到運行工作負載虛擬機個數為j時的平均響應時間Tj,如式(2)所示。
2.3基準響應時間計算
基準響應時間(Baseline)代表了測試環境中最快的響應時間。基準響應時間最大的作用是幫助計算閾值響應時間(Threshold)。
首先將所有平均響應時間進行升序排序,然后根據式(3)計算基準響應時間。
基準響應時間的計算存在以下3種情況:
(1)測試虛擬機個數x等于1時,該虛擬機的平均響應時間即為基準響應時間。
(2)測試虛擬機個數為1<x≤5時,將所有平均響應時間進行升序排序,去除一個最大的平均響應時間,將剩余平均響應時間求平均,結果作為基準響應時間。
(3)測試虛擬機個數x>5時,將所有平均響應時間進行升序排序,對最低的5個平均響應時間求平均,結果作為基準響應時間。
2.4閾值響應時間計算
閾值響應時間等于基準響應時間加1 000,即:
3系統實驗
3.1環境部署
測試環境選用的服務器配置為Intel Xeon 1路4核CPU,開啟超線程,CPU主頻為3.70 GHz,物理內存40 GB,Swap 24 GB,采用SSD固態硬盤,硬盤容量250 GB。
服務器所安裝的操作系統為中標麒麟高級服務器操作系統,云環境部署中標麒麟微云操作系統2.0。在云環境中創建35個Windows7虛擬機,虛擬機配置為1個虛擬內核,1.5 GB內存,系統磁盤40 GB。
3.2測試方法
采用遞增的方式,連接虛擬桌面,登錄虛擬機系統,在虛擬機中運行中等工作負載。中等負載同時運行4~6個應用,該工作負載一共運行8個應用,完成以下任務:
(1)Word:打開一個Word文檔,編輯文檔。
(2)Excel:打開一個Excel文件,編輯文件。
(3)Power Point:打開一個PPT演示文稿,幻燈片放映、新建幻燈片、編輯幻燈片。
(4)IE:瀏覽網頁、播放在線視頻。
(5)Adobe Reader:打開一個PDF文件、查找內容。
(6)Windows照片查看器:查看系統自帶的示例圖片。
(7)Windows Media Player:打開一個本地視頻,循環播放。
(8)計算器:打開計算器,執行加減乘除等運算。
評測系統周期性地采樣虛擬機和虛擬機所在主機的性能數據以及當前環境中運行工作負載的虛擬機數量。
3.3結果分析
3.3.1響應時間結果
35臺虛擬機運行中等負載的響應時間數據如表1所示。由于運行的虛擬機個數大于5個,所以基準響應時間等于最小的5個平均響應時間的平均值,即為912 ms,閾值響應時間為1 912 ms。當運行中等負載的虛擬機數量為34個時,平均響應時間為2 063 ms,大于閾值響應時間,所以該環境的虛擬桌面容量取值33個。
35臺虛擬機運行中等負載的響應時間曲線如圖2所示。
3.3.2虛擬機資源使用監控
以其中一個虛擬機為例,虛擬機資源使用曲線圖如圖3所示。虛擬機的CPU使用率在40%~70%,內存使用率在60%~80%,虛擬機系統運行平穩。
3.3.3主機資源使用監控
主機資源使用曲線圖如圖4所示。由圖可知,隨著運行工作負載的虛擬機數量的增多,主機的資源使用率也隨著增加。由該圖也可知,主機的內存使用率最終接近100%,所以,可以通過增加主機內存來提高虛擬桌面容量。
4結束語
本文設計了一種虛擬桌面容量評測系統,在虛擬機中運行工作負載,周期性采樣指定操作的響應時間和性能數據。根據指定操作的響應時間來計算平均響應時間、基準響應時間和閾值響應時間。通過對比平均響應時間與閾值響應時間,從而判斷是否達到虛擬桌面最大容量。通過
資源使用曲線圖監控虛擬機和主機運行情況,并輔助判斷是否達到虛擬桌面最大容量。本文以公司產品為例,
評測了虛擬桌面容量,并幫助定位性能瓶頸。這些能夠為云環境中的虛擬桌面規劃部署以及性能改進提供參考依據。
參考文獻
[1] Wikipedia. Cloud computing[EB/OL].[2016-05-30].https://en.wikipedia.org/wiki/Cloud_computing.
[2] 馬薈. 虛擬桌面落云端[J]. 互聯網周刊,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.
[4] 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.