何詩紅
(銳捷網(wǎng)絡(luò)股份有限公司,福建 福州 350000)
VDI 云桌面是指通過服務(wù)器虛擬化技術(shù),將服務(wù)器的硬件資源,包括CPU、內(nèi)存和硬盤進(jìn)行虛擬化,劃分出多臺虛擬機(jī),瘦終端通過桌面虛擬化協(xié)議連接虛擬機(jī),從而得到與物理PC一樣的桌面。云桌面互相之間共用的是同一臺服務(wù)器的硬件資源,會存在不同云桌面之間互相搶占資源、經(jīng)過虛擬化后的硬件性能下降以及虛擬化后的硬件在業(yè)務(wù)軟件的兼容上可能會有差別等問題,最終導(dǎo)致云桌面的用戶操作體驗可能弱于物理PC。對于客戶來說,在購買云桌面產(chǎn)品之前,需要清晰明確在滿足業(yè)務(wù)支撐的情況下,一臺服務(wù)器能支撐虛擬多少個云桌面,通過這個數(shù)據(jù)來制定采購方案。而這個數(shù)據(jù)一般是由云桌面廠商通過內(nèi)部測試得出來,并同步到客戶。
為了得到一臺服務(wù)器能支撐的云桌面數(shù)量,首先得定義什么樣的云桌面體驗是可以滿足用戶要求。由于用戶的業(yè)務(wù)場景千奇百怪,不同場景下對桌面的配置要求會有差別,并且體驗是個相對主觀的概念,對云桌面廠家來說,如何建立業(yè)務(wù)模型并用客觀的方式體現(xiàn)不同業(yè)務(wù)場景下每個桌面的體驗,是個較大的挑戰(zhàn)。
基于用戶業(yè)務(wù)模型,計算理論可支撐的云桌面數(shù)量,實驗室搭建同等云桌面數(shù)量的環(huán)境,根據(jù)業(yè)務(wù)情況,邀請與云桌面同等數(shù)量的相關(guān)業(yè)務(wù)用戶同時進(jìn)行體驗測試。
同時用戶調(diào)研工程師,提前設(shè)定相關(guān)表格,用戶根據(jù)使用效果對體驗進(jìn)行打分,最后統(tǒng)計出整體體驗效果,表格設(shè)定如表1所示。
表1
這種方法可以得到較真實的用戶體驗,但是對人力與財力的消耗卻是巨大的。以1 臺服務(wù)器支撐50 個云桌面,支撐10 種業(yè)務(wù)場景為例,體驗環(huán)境需要準(zhǔn)備1 臺服務(wù)器+50 臺瘦終端,至少需要邀請50*10=500 人次進(jìn)行體驗并收集相應(yīng)的數(shù)據(jù)。一旦理論數(shù)據(jù)在實際測試中發(fā)現(xiàn)有問題,需要調(diào)整,整個測試將重新進(jìn)行一遍,非常的低效。
基于用戶業(yè)務(wù)模型,計算理論可支撐的云桌面數(shù)量,以1 臺服務(wù)器支撐50 個云桌面體驗為例,搭建1 臺服務(wù)器+1 臺瘦終端的環(huán)境。通過軟件的方式,將50 臺虛擬機(jī)創(chuàng)建并啟動,其中49 個虛擬機(jī)通過腳本模擬用戶操作,比如瀏覽網(wǎng)頁、文字編輯等,1 臺虛擬機(jī)通過瘦終端連接進(jìn)去,找一個用戶進(jìn)行這臺云桌面的體驗測試,通過該用戶的體驗推算其余49 臺虛擬機(jī)的體驗,從而得出最終數(shù)據(jù)。
該測試方法采用的是腳本模擬加抽樣人工體驗的方法,沒辦法監(jiān)測到每個云桌面的體驗,存在測試結(jié)論不準(zhǔn)的問題。同時真實體驗的用戶一般為廠家內(nèi)部研發(fā)人員,且只有一個采樣數(shù)據(jù),得出來的體驗數(shù)據(jù)可能是片面不真實的。
基于用戶業(yè)務(wù)模型,計算理論可支撐的云桌面數(shù)量,以1 臺服務(wù)器支撐50 個云桌面體驗為例,通過類似魯大師等PC 跑分工具進(jìn)行跑分,收集每個桌面的跑分?jǐn)?shù)據(jù),然后與物理PC 進(jìn)行對比。
該方案測試出來的數(shù)據(jù)與用戶體驗無法直接掛鉤,而如果與PC 做對比,在并發(fā)跑分的時候單桌面的分?jǐn)?shù)往往會低于PC,但是并不能得出實際使用中云桌面的體驗會低于PC,因為云桌面方案的優(yōu)勢在于資源的動態(tài)調(diào)整,并不會所有桌面同時都會用到這么大的資源。
為了解決現(xiàn)有測試方案中存在的問題,本文基于用戶業(yè)務(wù)場景,提出用戶體驗可量化的測試方法,整套方法包括以下以下幾個部分。
根據(jù)云桌面的用戶類型,對不同用戶進(jìn)行業(yè)務(wù)劃分,如表2所示。
表2
梳理支撐不同業(yè)務(wù)的第三方軟件對硬件資源的消耗情況,如表3 所示。
表3
步驟1:定義業(yè)務(wù)軟件操作體驗的衡量標(biāo)準(zhǔn)(表4)。
表4
步驟2:定義服務(wù)器資源與體驗的關(guān)聯(lián)關(guān)系(表5)。
表5
根據(jù)已經(jīng)定義好的業(yè)務(wù)模型與用戶模型定義,進(jìn)行如下2部分的開發(fā):
3.3.1 通過腳本,模擬客戶操作業(yè)務(wù)軟件,比如:打開某個word 文檔,壓縮某個文件;
3.3.2 開發(fā)CS 架構(gòu)平臺,整體思路主要為如下幾個步驟:
(1)根據(jù)要評估的業(yè)務(wù)體驗,挑選相應(yīng)的業(yè)務(wù)軟件腳本;
(2)SERVER 端控制啟動云桌面,逐一啟動;
(3)云桌面啟動后,SERVER 端下發(fā)腳本到云桌面;
(4)云桌面開始循環(huán)運行業(yè)務(wù)腳本,同時運行監(jiān)控腳本,監(jiān)控業(yè)務(wù)軟件的體驗數(shù)據(jù),包括響應(yīng)時間、FPS、打字速度等;
(5)云桌面上報監(jiān)控數(shù)據(jù)到SERVER 端;
(6)SERVER 端將收集到的數(shù)據(jù)與標(biāo)準(zhǔn)進(jìn)行對比,同時持續(xù)監(jiān)控服務(wù)器的CPU/內(nèi)存;
(7)當(dāng)SERVER 端監(jiān)控到服務(wù)器的cpu 內(nèi)存超過標(biāo)準(zhǔn),停止增加啟動云桌面,記錄當(dāng)前總云桌面數(shù),作為最佳體驗的云桌面數(shù);
(8)當(dāng)SERVER 端監(jiān)控到服務(wù)器的cpu 內(nèi)存超過標(biāo)準(zhǔn),繼續(xù)增加啟動云桌面,重復(fù)C-G;
(9)當(dāng)進(jìn)行到G 步驟后,分析F 步驟里收集到的數(shù)據(jù)與標(biāo)準(zhǔn)的對比結(jié)果,如果結(jié)果有異常,判斷該云桌面體驗不佳,將G步驟得到的桌面數(shù)扣掉體驗異常的桌面數(shù),得到最佳體驗桌面數(shù)(圖1)。
圖1
根據(jù)測試驗證的結(jié)果,自動輸出體驗測試量化報告,報告包括以下幾個內(nèi)容:
3.4.1 總體描述
(1)運行的硬件設(shè)備信息;
(2)運行的業(yè)務(wù)與場景;
(3)云桌面操作系統(tǒng)類型;
(4)云桌面硬件配置;
3.4.2 測試結(jié)果展示
(1)整體結(jié)論:一臺xx 服務(wù)器共支撐xx 臺桌面支撐xx 業(yè)務(wù);
(2)數(shù)據(jù)詳細(xì)展示:
a.服務(wù)器CPU/內(nèi)存/IO 使用情況;
b.云桌面在運行業(yè)務(wù)時的CPU/內(nèi)存/IO 情況;c.云桌面業(yè)務(wù)響應(yīng)數(shù)據(jù):打開時間、打字速度等。
通過以上方案的設(shè)計與實踐,總結(jié)如下:
4.1 將主觀不可描述的體驗,轉(zhuǎn)換成數(shù)據(jù),客觀可見。
4.2 整個方案具有很大的擴(kuò)展性,對新場景下的業(yè)務(wù)支撐可以靈活評估。
4.3 多角度衡量,結(jié)果與用戶實際感受更貼近。