VDI 云桌面用户体验的量化测试方法
2021-10-18何诗红
何诗红
(锐捷网络股份有限公司,福建 福州 350000)
1 VDI 云桌面体验测试的背景与问题
VDI 云桌面是指通过服务器虚拟化技术,将服务器的硬件资源,包括CPU、内存和硬盘进行虚拟化,划分出多台虚拟机,瘦终端通过桌面虚拟化协议连接虚拟机,从而得到与物理PC一样的桌面。云桌面互相之间共用的是同一台服务器的硬件资源,会存在不同云桌面之间互相抢占资源、经过虚拟化后的硬件性能下降以及虚拟化后的硬件在业务软件的兼容上可能会有差别等问题,最终导致云桌面的用户操作体验可能弱于物理PC。对于客户来说,在购买云桌面产品之前,需要清晰明确在满足业务支撑的情况下,一台服务器能支撑虚拟多少个云桌面,通过这个数据来制定采购方案。而这个数据一般是由云桌面厂商通过内部测试得出来,并同步到客户。
为了得到一台服务器能支撑的云桌面数量,首先得定义什么样的云桌面体验是可以满足用户要求。由于用户的业务场景千奇百怪,不同场景下对桌面的配置要求会有差别,并且体验是个相对主观的概念,对云桌面厂家来说,如何建立业务模型并用客观的方式体现不同业务场景下每个桌面的体验,是个较大的挑战。
2 现有技术方案与优劣对比
2.1 用研法
基于用户业务模型,计算理论可支撑的云桌面数量,实验室搭建同等云桌面数量的环境,根据业务情况,邀请与云桌面同等数量的相关业务用户同时进行体验测试。
同时用户调研工程师,提前设定相关表格,用户根据使用效果对体验进行打分,最后统计出整体体验效果,表格设定如表1所示。
表1
这种方法可以得到较真实的用户体验,但是对人力与财力的消耗却是巨大的。以1 台服务器支撑50 个云桌面,支撑10 种业务场景为例,体验环境需要准备1 台服务器+50 台瘦终端,至少需要邀请50*10=500 人次进行体验并收集相应的数据。一旦理论数据在实际测试中发现有问题,需要调整,整个测试将重新进行一遍,非常的低效。
2.2 抽样法
基于用户业务模型,计算理论可支撑的云桌面数量,以1 台服务器支撑50 个云桌面体验为例,搭建1 台服务器+1 台瘦终端的环境。通过软件的方式,将50 台虚拟机创建并启动,其中49 个虚拟机通过脚本模拟用户操作,比如浏览网页、文字编辑等,1 台虚拟机通过瘦终端连接进去,找一个用户进行这台云桌面的体验测试,通过该用户的体验推算其余49 台虚拟机的体验,从而得出最终数据。
该测试方法采用的是脚本模拟加抽样人工体验的方法,没办法监测到每个云桌面的体验,存在测试结论不准的问题。同时真实体验的用户一般为厂家内部研发人员,且只有一个采样数据,得出来的体验数据可能是片面不真实的。
2.3 跑分法
基于用户业务模型,计算理论可支撑的云桌面数量,以1 台服务器支撑50 个云桌面体验为例,通过类似鲁大师等PC 跑分工具进行跑分,收集每个桌面的跑分数据,然后与物理PC 进行对比。
该方案测试出来的数据与用户体验无法直接挂钩,而如果与PC 做对比,在并发跑分的时候单桌面的分数往往会低于PC,但是并不能得出实际使用中云桌面的体验会低于PC,因为云桌面方案的优势在于资源的动态调整,并不会所有桌面同时都会用到这么大的资源。
3 量化测试方法
为了解决现有测试方案中存在的问题,本文基于用户业务场景,提出用户体验可量化的测试方法,整套方法包括以下以下几个部分。
3.1 定义用户业务模型
根据云桌面的用户类型,对不同用户进行业务划分,如表2所示。
表2
梳理支撑不同业务的第三方软件对硬件资源的消耗情况,如表3 所示。
表3
3.2 定义用户体验模型
步骤1:定义业务软件操作体验的衡量标准(表4)。
表4
步骤2:定义服务器资源与体验的关联关系(表5)。
表5
3.3 验证测试
根据已经定义好的业务模型与用户模型定义,进行如下2部分的开发:
3.3.1 通过脚本,模拟客户操作业务软件,比如:打开某个word 文档,压缩某个文件;
3.3.2 开发CS 架构平台,整体思路主要为如下几个步骤:
(1)根据要评估的业务体验,挑选相应的业务软件脚本;
(2)SERVER 端控制启动云桌面,逐一启动;
(3)云桌面启动后,SERVER 端下发脚本到云桌面;
(4)云桌面开始循环运行业务脚本,同时运行监控脚本,监控业务软件的体验数据,包括响应时间、FPS、打字速度等;
(5)云桌面上报监控数据到SERVER 端;
(6)SERVER 端将收集到的数据与标准进行对比,同时持续监控服务器的CPU/内存;
(7)当SERVER 端监控到服务器的cpu 内存超过标准,停止增加启动云桌面,记录当前总云桌面数,作为最佳体验的云桌面数;
(8)当SERVER 端监控到服务器的cpu 内存超过标准,继续增加启动云桌面,重复C-G;
(9)当进行到G 步骤后,分析F 步骤里收集到的数据与标准的对比结果,如果结果有异常,判断该云桌面体验不佳,将G步骤得到的桌面数扣掉体验异常的桌面数,得到最佳体验桌面数(图1)。
图1
3.4 测试报告输出
根据测试验证的结果,自动输出体验测试量化报告,报告包括以下几个内容:
3.4.1 总体描述
(1)运行的硬件设备信息;
(2)运行的业务与场景;
(3)云桌面操作系统类型;
(4)云桌面硬件配置;
3.4.2 测试结果展示
(1)整体结论:一台xx 服务器共支撑xx 台桌面支撑xx 业务;
(2)数据详细展示:
a.服务器CPU/内存/IO 使用情况;
b.云桌面在运行业务时的CPU/内存/IO 情况;c.云桌面业务响应数据:打开时间、打字速度等。
4 总结与展望
通过以上方案的设计与实践,总结如下:
4.1 将主观不可描述的体验,转换成数据,客观可见。
4.2 整个方案具有很大的扩展性,对新场景下的业务支撑可以灵活评估。
4.3 多角度衡量,结果与用户实际感受更贴近。