桌面云性能評估方法概述
在桌面云中,服務質量(QoS)同樣非常重要,評估 Qos 可以采用定量分析方法,比如,通過在桌面云中不斷繁殖虛擬桌面的方式,直到云平臺超載且性能有所下降。又如,在計算機安全領域,[1]有研究者使用統計方法來獲取用戶行為特征,以此來驅動“真實的”,二進制和基于 GUI 的程序運行,這種驅動的實現是通過自適應的 GUI 應用程序的重放來高效模擬實物 (“人”) 的行為來實現的。目前雖然國外有些針對桌面云和虛擬化平臺的性能測試工具,但是各自有其優缺點,難以滿足桌面云架構的設計、計劃和評估的不同需求。評估終端用戶的使用體驗 (UX) 是解決方案中非常重要的一個環節,良好的用戶感受會大大提高客戶對產品的認同度,要提高評估的準確度,就需要站在客戶的角度,考慮客戶的使用特點,并采取有效的評估方法?;谶@些方面,我們的 UX 評估通常綜合使用主觀評測 + 客觀評測的方法。下圖 1 是桌面云的典型結構:
圖 1. 桌面云示意圖
回頁首
桌面云解決方案中的主要性能測試目標
桌面云是云計算的一項重要應用, 寄宿與云計算模型下的應用程序服務具有復雜的供應(provision)、組成、配置和發布的需求。在變化的系統、用戶配置和需求的情況下,要能用重用的方式來評估云供應策略,應用程序負載模型和資源的性能模型不是件容易的事情。桌面云解決方案中的主要性能測試目標有:
供應(Provision)云桌面系統和部署應用程序的速度
驗證云虛擬化管理程序(Virtualization Hypervisor)能支持的不同硬件配置 (CPU、RAM、Network) 的最大并發用戶數(即 Virtual Desktop)
衡量采用不同的遠程協議 (RDP/ICA) 的桌面云解決方案對網絡帶寬的最低要求
評估終端用戶的使用體驗。一般通過衡量云終端用戶操作應用程序的響應時間,如打開應用程序,瀏覽 Web 頁面、瀏覽 Word/Excel/PPT/PDF 等文件,輸入文字,播放視頻媒體等,結果反映的是用戶的真實感受
發現資源瓶頸或者應用程序缺陷等。
針對上面的第四點,為了有效的監視用戶的體驗,有三個主要的組件需要考慮:
真實和虛擬的桌面性能 -- 啟動時間、進程延遲、CPU/RAM 利用、不響應進程、錯誤信息、掛掉的應用程序等。
應用程序的性能 -- 延遲、響應時間、端到端的商業事務時長,即獨立于桌面技術和應用的 HTTP(s)、AJAX、Client/Server、Jave、.NET、XenAPP/ICA,RDC、VDI 等。
終端用戶的生產活動 -- 終端用戶對應用程序、模塊或者函數的使用統計信息、應用程序使用的關聯、執行各種商業事務過程的時間等,比如某個商業用戶,發送了多少郵件,創建了多少的服務請求,進行某一單交易花了多長時間。
以上的三種組件之間是動態和持續影響終端用戶在 IT 服務的體驗的,因而這些組件的值需要實時度量。在虛擬化的環境,像傳統的 CPU 和 RAM 的度量值并不能夠反應性能情況,傳統的系統管理方案依賴于衡量的操作系統的運行的參數,SNMP 檢測只是反映 Windows 操作系統管理指示(WMI)計數器的值,并不能反映云桌面是虛擬宿主機中的一個客戶系統,這些信息在壞的情況甚至能起誤導的反作用,類似地,專門監控網絡的應用或者設備在對虛擬機器和后臺網絡的之間的網絡使用情況的監控的結果也覺察不到云桌面機器的使用性能下降,這種性能下降可能是由于云桌面機器內的資源競爭使用引起。況且,目前的虛擬化技術發展傾向資源的分布式調度技術,使資源的利用更加充分和高效,這樣,即使獲取到虛擬化平臺所有的影響服務性能的 CPU、RAM、IO 帶寬,并且監控所有的虛擬化平臺客戶系統,這些數據也不能提供對終端用戶可能遇到的性能問題的真切的洞察。這就更需要有中統一的多層次(網絡、中間件、系統消息循環)的對用戶體驗(UX)監控技術。
回頁首
測試類型
基線測試 (Baseline test)
容量測試 (Capacity test)
擴展性測試 (Scalability test)
穩定性測試等 (Stability test)
回頁首
為什么采用 STAF/STAX + Autoit
1. STAF/STAX 自動化框架解決底層的系統調用,STAF 提供許多通用的內置服務 (進程操作、文件傳輸、同步、事件調度、通知、工作流等),簡單易用的命令行操作,跨平臺
3. 易于實現工作流的并發和序列化,通過編寫 XML 即直接調用 STAF/STAX 提供的任務調度接口,且能實時察看客戶端實時的運行狀態,實時數據采集等
4. Autoit 跟 Windows 系統結合緊密,有許多的實用功能或者設置,便于模擬 Windows 終端的應用程序的操作等,提高數據結果的可信度。
回頁首
測試模型
圖 2. 云桌面性能測試對象模型
回頁首
基于 STAF/STAX+Autoit 的解決方案的實現
STAF/STAX 雖然是做自動化測試的,但是其靈活的任務調度使其也可以勝任性能方面的 中小規模的測試。該解決方案主要使用 STAX 的并發調度,遠程驅動終端用戶執行自定義的任務和操作。該方案的實現是針對基于流模式的云桌面部署,但是針對基于遠程訪問協議 (RDC/ICA) 的桌面云部署同樣適用。
測試策略
采用 N+1,N+2,N+3 的測試方法,即模擬 N+1,N+2,N+3 的用戶執行特定的活動,并衡量其中的 1,2,3 個機器的使用情況,因為這個 1,2,3 個機器的使用情況能反映總體的使用情況。用戶的體驗值的主要依據是程序界面的響應時間延遲,把不同的應用程序的操作的響應延遲劃分幾個區間,每個區間對應用戶的體驗水平(如體驗:優良,一般,勉強接受,不能接受等)。
功能特性
原文轉自:http://www.anti-gravitydesign.com