使用LOGIN VSI进行XenDesktop VDI性能测试-By 肖雄军

使用Login VSI进行VDI性能测试

以Citrix XenDesktop为示例

衷心感谢来自思杰的Jack Tu提供Login VSI测试用授权
  • Contents

2       简介… 3

3       Login VSI测试原理的官方说明… 4

4       Login VSI环境概览… 5

5       系统需求… 7

6       安装准备… 8

6.1         安装介质… 8

6.2         解压安装包… 8

6.3         申请授权… 9

7       Data Server安装… 9

7.1         创建文件夹… 9

7.2         共享目录… 9

7.3         文件系统权限设定… 10

7.4         安装Login VSI素材库… 11

7.5         导入License. 15

7.6         接受EULA.. 16

7.7         Management Console. 16

7.8         VSI Pro Library. 17

7.8.1          安装Pro Library. 17

7.8.2          刷新素材库… 20

8       Launcher安装… 20

9       Target安装… 20

9.1         Target安装交付产品… 23

9.2         Target安装Office. 23

10          配置… 23

10.1           创建测试账号… 24

10.1.1        生成PowerShell脚本… 24

10.1.2        设置PowerShell的安全策略… 26

10.1.3        执行账号生成脚本… 26

10.1.4        确认测试账号是否存在… 27

10.2           移动测试对象到指定OU.. 28

10.3           添加Launcher. 28

10.4           添加Data Server. 30

10.5      Target配置… 30

10.6           授权测试用户组登录会话主机… 31

10.7      Launcher配置… 32

10.7.1        Remote RPC. 32

10.7.2        VDI Client. 32

10.8           更改NetBIOS为FQDN(可选)… 33

11          测试前准备… 34

11.1           设置Office版本… 34

11.2           设置操作系统及Office语言… 35

11.3           自定义Workload. 36

11.4           添加Connection. 38

11.4.1        会话显示设定… 41

11.4.2        设备映射设定… 41

11.4.3        生成连接字符串… 42

11.5           配置测试场景… 43

11.5.1        选择测试场景… 43

11.5.2        Workload mashup配置… 44

11.5.3        Phase设定… 44

11.5.4        基准测试… 45

12          开始测试… 46

13          额外测试类型… 54

13.1      Login VSI Storage Workload. 54

13.2      Login VSI Graphics Framework. 54

14          数据分析… 55

14.1           运行Analyzer. 55

14.2           应用数据分析… 57

14.3           导入外部数据分析… 58

15          附录… 59

 

 

 

 

2         简介

Login VSI全称为Login Virtual Session Indexer,顾名思义是一个用于VDI/SBC平台综合测试解决方案。

在Virtual Desktop Infrastructure(VDI)及Server Based Computing(SBC)项目中,往往都会在选型阶段遇到各类计算难题,如基础架构角色到底部署几个节点、一个计算节点究竟能承载几个用户、计算资源规划多少才合适等等,Login VSI设计目的就是为了在项目的各阶段提供数据决策依据,这些阶段如:

  • 性能测试

如前面提出的一个会话承载单元负载多少用户,才能达到计算相对饱和并同时保证用户使用体验?

  • 容量规划

平台总用户数有多少,需要为该平台备置多少和什么规格的硬件?

  • 交付验证

硬件、系统、软件都部署完了,这个平台能否如预期设计那样承载日常运营呢?

  • 变更评估

业务软件版本要升级啦,新存储上架了,追加的计算卡已经安装配置好了,可是变更后对平台有什么影响呢?

简而言之,Login VSI的哲理是:少废话,做个测试,以数据说话。

3         Login VSI测试原理的官方说明

The philosophy behind Login VSI is different to conventional benchmarks. In general, most system benchmarks are steady state benchmarks. These benchmarks execute one or multiple processes, and the measured execution time is the outcome of the test. Simply put: the faster the execution time or the bigger the throughput, the faster the system is according to the benchmark.

Login VSI拥抱的理念与传统的测试不太同。一般来讲,绝大部分的系统测试是使用稳态测试。这类测试执行一个或者多个应用程序(进程),然后以程序执行时间来统计测试结果。简单而言,在此类测试理念下,程序执行时间越快或者越多,系统性能就越好。

Login VSI is different in approach. Login VSI is not primarily designed to be a steady state benchmark (however, if needed, Login VSI can act like one). Login VSI was designed to perform benchmarks for SBC or VDI workloads through system saturation. Login VSI loads the system with simulated user workloads using well known desktop applications like Microsoft Office, Internet Explorer and Adobe PDF reader. By gradually increasing the amount of simulated users, the system will eventually be saturated. Once the system is saturated, the response time of the applications will increase significantly. This latency in application response times a clear indication whether the system is (close to being) overloaded. As a result, by nearly overloading a system it is possible to find out what its true maximum user capacity is.

Login VSI则采取不同的途径,从设计上就未采取稳态理论(当然,如果需要,Login VSI亦可以实现、模拟此类行为),本产品在设计上就是为了执行SBC或者VDI负载测试来达到系统饱和。Login VSI使用常见的桌面应用程序来模拟用户负载,如MS Office、IE、Adobe Reader等等。不断的增加模拟的用户数,目标系统终究会达到饱和,此时应用程序的响应时间将会有显著的提升,因而应用程序的响应时间可以作为一个清晰的指标来判断系统是否达到超负荷状态。综上,通过不断的增加系统负荷是可以测试出目标系统的理论最高用户(会话)负载能力。

4         Login VSI环境概览

广告时间完毕,那么问题来了,Login VSI长啥样呢?如何工作的呢?

对,你没看错!Login VSI就这么简单!

在上图中可以看到左侧橙色的标题写着Login VSI组件,VSIshare角色用于放置测试素材及结果,Launcher角色用于执行测试(建立各类会话),右侧上方靶心则是待测试的目标VDI/SBC平台,右下角的则是活动目录(AD域)。

下表是上面各角色包含的组件明细

角色 组件与说明
VSIshare (Fileshare) Login VSI主体

·         管理控制台

·         分析器

·         会话监视器

·         内容库

·         日志文件

Launcher(s) Ø  Citrix Receiver

Ø  Microsoft Remote Desktop Connection

Ø  VMware Horizon Client

Ø  及其它客户端

Target Environment ·         Citrix XenApp/XenDesktop

·         Microsoft Remote Desktop Services

·         VMware Horizon View

·         其它VDI平台

A Microsoft Active Directory infrastructure (Optional) Ø  Login VSI用户账号

Ø  Login VSI用户组

Ø  组策略对象

从上图及上表中可以清晰的看到各角色的构成,但是这些又分别代表什么呢?跟最终的测试又有什么关系呢?

Login VSI的运行流程大致是这样的:通过运行在VSIshare上的Management Console配置好测试参数后,开启Login VSI Session Monitor(用于监控会话运行状态),再点击开始测试,相关的测试任务会发送到Launcher,Launcher(Login VSI Agent)接收到测试任务相关参数后自动连接VDI平台创建会话,在VDI会话建立后,会根据在Management Console选择的workload自动地在VDI会话内模拟一些常规办公操作(邮件、打印、网页浏览、视屏播放等等),同时将相关的数据写回到VSIshare的log目录,待测试完成后使用Analyzer进行数据分析。

测试过程中登录VDI平台使用到的素材,如Outlook的pst文件等,均是从VSIshare获取,然后各个会话内自动化操作主要是由脚本及域策略控制。

至于AD域环境主要是两方面的作用:用户身份认证及下发组策略

需要特别说明的是,为了保证网页浏览及视屏播放不受网络(互联网)影响,Login VSI将相关的网页等等素材存放在VSIshare这个角色的本地的,然后测试过程中实际访问的网站是host在VSIshare上的,所以测试结果是比较可靠的,另外也解释了为什么Login VSI的安装包体积巨大。

好了,话不多说,开始安装吧。

5         系统需求

由于需求较多,本文不提供明细,请移步官方文档库阅读相关信息

Login VSI Requirements

链接地址:https://www.loginvsi.com/documentation/index.php?title=Login_VSI_Requirements

简述如下

Launcher、VSIshare(Data Server)、Target、Active Directory的需求是分开有说明的。

Login VSI涉及的各组件都是基于已加入AD域的Windows计算机,所以先加域再继续下一步。

6         安装准备

从产品逻辑上来讲,真正需要安装Login VSI产品的地方只有一个,那就是Data Server(VSIshare)。

可能你会以为Launcher也需要安装Login VSI的Agent才能接收自动化的测试脚本,其实不然。

整个测试过程需要用到的Login VSI软件、素材均源自于安装在Data Server的共享目录内,比如Launcher上的Agent端其实是通过在活动目录上Launcher-V4用户的登录脚本实时从Data Server运行的,再如用于配置测试参数的Management Console也是通过访问网络共享上的exe可执行文件来完成的。

从实际操作方面来讲,安装分三个地方,Data Server、Launcher、Target,下文将分别从这三个角色描述相关的安装过程。

6.1        安装介质

Login VSI的安装介质在官方网站上可以直接下载,地址如下

https://www.loginvsi.com/downloads/login-vsi

从上述地方下载回来的是一个以LoginVSI#版本号#.exe命名、大小约1GB的自解压文件,解压后有几个子目录,分别给不同的角色使用的安装包。建议先将该文件解压到一个共享目录,以方便后续各个角色安装操作。

6.2        解压安装包

下载回来的LoginVSI###.exe文件是一个压缩包,双击后会提示进行解压

选择合适的目录再点击Extract后会开始解压,解压完成后则是生成一个LoginVSI###同名的文件夹

建议将解压后的文件共享出来,因为后面的Target需要使用这里面的介质来安装测试过程需要的软件

6.3        申请授权

Login VSI需要授权才能工作,故在开始前,请购买相应的License,或者向Login VSI申请测试License,地址如下

https://www.loginvsi.com/login-vsi-demo

7         Data Server安装

7.1        创建文件夹

在一台已经加域的Windows主机上,新建一个文件夹,名字随意(本文为VIShare),需要留意的预留足够的空间。

7.2        共享目录

在Windows Explorer内右键点击刚才创建的文件夹,选择Properties(属性)选项,在弹出的属性对话框中切换到Sharing(共享)标签面下,点击Advanced Sharing(高级共享),勾选Share this folder前面的勾,以便将该文件夹共享出来,再点击Permissions(共享)配置合适的共享权限,如下图示

在共享权限设定上,为方便后续测试,建议将共享权限设置为Everyone – Full Control

7.3        文件系统权限设定

如果只有共享权限内设定的Full Control还是不能保证测试用户能访问该共享的,还需要在文件系统上对文件夹的安全权限(Security)添加相应的权限,同理,为方便后续测试,亦推荐授予Authenticated Users – Full Control的安全权限。

在文件夹的属性对话框内,切换到Security标签页下面,添加Authenticated Users对象并勾选Full Control右侧的Allow,如下图示

至此,共享目录准备完成,接下来就可以使用安装向导将Login VSI的相关执行文件及素材库安装到此文件夹。

7.4        安装Login VSI素材库

在Data Server主机内,浏览到早前下载后解压出来的名字为“1. Dataserver Setup”子文件夹,可以看到该目录下存在适用于Data Server安装用的setup.exe文件

双击Setup.exe文件,依向导提示点击下一步

接着向导会询问将素材库安装到哪个共享目录,请选择刚才创建的共享目录,如下图示

在此对话框下面有个Add shortcuts to VSIshare & Start Menu的可选项,勾选后将会自动的在指定的共享目录及当前主机的开始菜单上生成测试过程中常用的工具快捷方式,点击下一步后开始安装,默认在安装后会打开管理控制台,如下图示

安装结束截图

7.5        导入License

安装结束后默认会打开Management Console,因为是首次运行,会弹出License的配置对话框,点击Browse浏览到已获取到的License文件并点击Save保存License文件设定与导入

如果License文件有效,那么立刻会运行Console工具,而且为显示当前授权信息,如截图

7.6        接受EULA

接受用户许可协议方可继续后面的操作。

7.7        Management Console

在上一步完成后,会出现Management Console,后继的测试过程主要是使用该工具完成相关的工作。

7.8        VSI Pro Library

7.8.1        安装Pro Library

拥有Login VSI Pro授权的用户可以使用额外的素材库,额外的素材库为测试会话提供更加多的随机素材,这样可以避免缓存效应进而保证更加接近用户使用特性的结果数据。

下载后的文件解压后包含一个可执行文件及几个bin文件,双击exe可执行文件开始安装

向导会询问目标Data Server的路径,按实际情况选择早前创建的VSI Share共享即可

最后点击安装开始安装

安装过程较长,因为大小接近10G,下面是安装成功提示

7.8.2        刷新素材库

安装Pro Library后,需要到Management Console刷新一下素材库,路径为Intrastructure -> Content Library -> Refresh Content,如果刷新成功,可以看到Amount由默认的50变成1000

8         Launcher安装

Launcher主机并不需要安装Login VSI产品,需要安装的是Citrix Receiver等VDI适用的Client端,在测试前需要确认在该主机上能成功建立、运行VDI会话,本文不详细描述相关安装、操作过程。

9         Target安装

注:前提条件为已准备好Target Machine及已执行Login VSI提供的域账号创建脚本。

为了保证测试能正常完成,需要在Target上安装一些测试过程需要用到的软件,然后还需要导入一些注册表设置,以抑制相关软件的弹窗,这些操作可以通过安装Login VSI提供的Target专用安装包来实现。

软件列表:DoroPDF, Adobe Reader, Adobe Flash, Java

登录到Target(被测试VDI/SBC对象),从早前解压出来的安装源中完整拷贝2. Target Setup文件夹到本地并双击Target setup.exe文件开始安装

在弹出的向导中按实际需要进行勾选,如最下面的Add Login VSI group to local RDP group在Citrix VDA 7.X之后则不是必选的,因为VDA 7.X安装过程会将Authenticated Users添加到本地的Remote Desktop Users用户组,故Login VSI用户组可不加,在选择完成后点下一步继续

接下来则是显示安装进度,如果没有异常出现,安装成功后该向导会自动关闭

安装后可以到添加/删除软件中确认早前勾选的组件是否安装成功,如下

9.1        Target安装交付产品

本文不做描述,请参考Citrix、VMware、Microsoft相关产品文档。

9.2        Target安装Office

Login VSI需要在Target内安装已激活的Office,基本上从Office 2003起均受支持。

值得注意的是不要使用Office Customization Tool来预配置Outlook的Profile,因为Login VSI使用脚本自动配置测试账号使用的Outlook Profile,如果OCT自定义了此项配置,则有可能会引起冲突并致使Outlook相关测试无法执行。

10    配置

运行Management Console后自动展示的是Home页面,在那里可以看到如下信息

Welcome to the Login VSI Management Console

  1. AD Setup
  2. Add Launchers
  3. Add Data Servers
  4. Configure Scenario
  5. Configure Connection
  6. Start Test

这些基本就是配置和进行测试的所有步骤了,下文将离散的对各部分进行说明与演示。

10.1    创建测试账号

Login VSI测试过程中需要用到多个用户账号、用户组、组策略,故需要预先完成相关的域环境准备工作,这部分工作Login VSI已提供脚本来完成。

可以将VIShare目录上的PowerShell脚本发送给域管理员执行。

个人喜欢直接在VSI Share主机上安装相关的Administrative Tools,然后本地执行PowerShell脚本,此过程需要使用的工具包含在RSAT-AD-Tools、RSAT-AD-PowerShell及GPMC内,以下为在Windows Server 2012 R2主机上安装的示例:

Add-WindowsFeature RSAT-AD-Tools,RSAT-AD-PowerShell,GPMC

10.1.1    生成PowerShell脚本

在Management Console浏览到Infrastructure -> Ad Setup设置界面,可以看到Base OU、账户名格式、密码及用户数等等选项,可以根据实际需求进行调整

在上图中点击Base OU右侧的browser会弹出基础OU选择对话框,可根据实际需求指定基础OU来生成子OU。需要说明的,此脚本是在指定的OU之下创建一个名为LoginVSI的子OU,然后再这个LoginVSI的OU之下再生成其它的OU、账号等等对象。

相关账号默认密码是Password!,如果需要变更可以在Password处指定

如果上面的设定没有问题,可以点击右下角的save to PS1按钮生成PowerShell脚本文件

指定路径后点击保存

10.1.2    设置PowerShell的安全策略

鉴于PowerShell的默认安全策略是Restricted,可能需要修改为Unrestricted才能正常运行Login VSI生成的PS1脚本文件,见下面演示

Set-ExecutionPolicy Unrestricted

当然也可以在cmd下运行powershell.exe -File $ScriptName -ExecutionPolicy $ExecPol的方式来指定临时的安全策略,本文不做演示。

10.1.3    执行账号生成脚本

  • 确保早前已经完成PowerShell安全策略修改,如果没有此处执行PS1脚本可能会出错,可通过Get-ExecutionPolicy命令来确认。
  • 确保执行PS1脚本的用户有在指定OU下创建OU等等对象的权限。
  • 确保已经安装Active Directory相关管理工具。

执行刚才Login VSI Management Console – AD Setup保存下来的PS1脚本,如果不出意外会出现如下类似结果

图中回显提示生成了两个组策略对象及相关Linked OU信息,然后还提示需要将测试对象主机(Target)移动到Login VSI Computers这个OU之下。

但是图中没有显示账号创建的相关信息,所以建议自行到管理工具下面确认测试用户账号是否创建,参考下一小节。

10.1.4    确认测试账号是否存在

可在Active Directory Users and Computers里面确认在LoginVSI -> Users -> Launcher/Target这两个OU下是否存在Launcher-V4及指定数量的测试账号(默认以LoginVSI为前缀)。

10.2    移动测试对象到指定OU

为了保证静默测试顺利完成,需要将待测试对象(VDI/SBC Session Host)移动到刚生成的LoginVSI下面的Computers子OU(组织单元)下面,才能保证域策略可以正常应用,下图中HHRDSH计算机为安装了VDA的共享桌面会话主机,故将其移至此OU下。

10.3    添加Launcher

Launcher顾名思义,是用来Launch VDI Session的端点,操作系统要求为兼容版本Windows即可,不限定Workstation或者Server版本,只要能通过RDP建立远程会话就可以。当然另外一个要求跟Login VSI关系不大,但是依旧需要满足的是能在该端点上安装适用的VDI Client,比如Citrix Receiver,否则不能运行测试中的VDI会话。

在测试开始前需要在Management Console添加至少一个Launcher,在Console左侧点击Launchers按钮,在中间内容展示窗就会出现已添加的Launcher列表或者提示添加Launcher,再点击add launcher按钮就可以出现添加Launcher的向导。

向导欢迎界面,直接下一步

下一步来到选择添加方式,默认是添加单台Launcher,另外一个选择是批量添加的方式,根据实际情况选择然后再下一步,本文使用默认的单机添加模式

然后来到填写launcher参数,如主机名、处理能力(建立VDI会话数量)及是否启用,此处填写稍后将要使用的launcher主机名即可,由于添加过程不验证目标主机可用性,即使该主机目前不存在也可以完成添加操作。Capacity一栏填写的值决定了执行测试时会在这个launcher上分配多少个VDI会话进行创建后执行相关测试工作。

最后来到信息确认步骤,校验主机名、处理能力等信息无误后点击Finish就完成了launcher添加任务

返回console主窗口会在Launchers项目下看到刚才添加的主机条目,如下图示

10.4    添加Data Server

如果如前面安装完Data Server后,该Data Server会自动添加到当前配置,无需再次添加。如果测试场景需要增加额外的Data Server则在安装后再从Management Console左侧的Data Server选项卡内添加,本文不作演示。

10.5    Target配置

因为测试脚本是自动执行的,即Agent按照预先设定的步骤一步一步重播操作,那么未预见的操作就可能导致测试终止,如下图就是一个因为Office First Run Wizard而导致后面的操作脚本无法执行进而导致该会话的后续脚本停止执行

为了测试顺利完成,我们需要在Target中预先调整一些配置,最方便的做法是通过活动目录中的组策略来实现,Login VSI亦默认情况下导入了一些策略(创建账号PowerShell脚本完成),相关的明细可以参考官方说明Login VSI All Settings。下图是通过组策略配置禁用First Run相关对话框的示例,供参考

根据官方文档提供的GPO设置列表中可以看到Office是区分版本的,所以,如果测试时使用的版本不是列表中说明的版本则需要自动从微软下载对应版本的组策略模板(Office Administrative Templates)并完成对应的组策略配置。前一图就是未针对实际环境调整组策略的情况下,使用Office16(Office 2016)版本测试时弹出的一个对话框,因为该对话框的出现而导致了该Session后续workload中止执行。

节选部分与Office相关的策略值,源自Login VSI All Settings

Extra Registry Settings

Policy Setting
Software\Policies\Microsoft\Office\15.0\outlook\preferences\archivedelete 0
Software\Policies\Microsoft\Office\15.0\outlook\preferences\archivegranularity 0
Software\Policies\Microsoft\Office\15.0\outlook\preferences\archivemount 0
Software\Policies\Microsoft\Office\15.0\outlook\preferences\archiveold 0
Software\Policies\Microsoft\Office\15.0\outlook\preferences\archiveperiod 6
Software\Policies\Microsoft\Office\15.0\outlook\preferences\deleteexpired 0
Software\Policies\Microsoft\Office\15.0\outlook\preferences\disablemanualarchive 1
Software\Policies\Microsoft\Office\15.0\outlook\preferences\doaging 0
Software\Policies\Microsoft\Office\15.0\outlook\preferences\everydays 14
Software\Policies\Microsoft\Office\15.0\outlook\preferences\promptforaging 0

10.6    授权测试用户组登录会话主机

在测试开始前,我们需要授权Login VSI的测试用户能登录到Target主机,也就是Session Host(VDA主机)。在Target主机打开本地用户与组管理器,找到Remote Desktop Users用户组,然后将域内新建的LoginVSI用户组添加到此处就完成用户授权。

10.7    Launcher配置

Launcher需要配置的项目很少,在我测试过程中仅需要配置一个注册表键值及避免Citrix Receiver弹窗的组策略。

10.7.1    Remote RPC

如果Launcher角色的OS是Windows 7/8/8.1/10等等桌面操作系统,则需要编辑一个AllowRemoteRPC注册表键值,否则可能Login VSI测试过程中会报Launcher not ready类似的错误。设置的具体文档可参考微软文档Allowing Remote RPC

10.7.2    VDI Client

与前面Target配置中提供的示例一样,同样也需要保证Launcher不会弹出什么额外的对话框来阻碍自动化的测试过程,以Citrix Receiver举例就是会话过程可能会出现询问是否允许访问客户端的本地磁盘、外设等等,又或者是FTU弹出的向导,针对Citrix Receiver可参考以下KB

  1. How to Suppress the Add Account Window in Citrix Receiver for Windows – CTX135438
  2. How to Suppress the Add Account Window in Citrix Receiver 4.4 or Earlier for Windows – CTX212272
  3. How to Configure Default Device Access Behavior of Receiver, XenDesktop and XenApp – CTX133565

10.8    更改NetBIOS为FQDN(可选)

官方建议使用NetBIOS name进行配置,在特殊环境下可能需要修改全局配置为FQDN路径,此时可点击Management Console左下方的Settings按钮

默认值为NetBIOS填写路径名,将路径中NetBIOS名替换为FQDN/DNS名即可

11    测试前准备

在测试开始前需要在Login VSI Management Console调整几处设置,如Office版本选择,语言设定等等。

11.1    设置Office版本

如果环境均为英文,Login VSI Management Console中唯一需要设置的选项只有Microsoft Office版本选择,如下图所示,在Management Console依次浏览到Workload -> Settings -> Microsoft Office Version,点击右侧的下拉框,选择Target上实际安装的Microsoft Office版本

11.2    设置操作系统及Office语言

从Login VSI网站说明来看,Login VSI是支持简体中文版本Windows操作系统及Office套件的,如果需要调整则还是在Management Console浏览到Workload -> Settings -> OS language及Microsoft Office language选项下进行设定,如下图示

11.3    自定义Workload

Workload决定每个测试session内执行哪些操作,如什么时候打开邮件,什么时候播放视屏,什么时候打印等等,换句话说Workload就是匹配日常工作中不同类型的用户及场景。Login VSI有预设的一些Workload(场景)可供选择,如果希望调整这些场景,可以先复制一份,然后再进行编辑

复制成功后会出现一个原名相类似的副本,选择该副本点击下方的rename可心重命名,edit则是编辑该Workload的操作及时序

下面是点击edit后出现的编辑窗口

此处编辑的意义可以理解为EdgeSight for LoadTesting及LoadRunner里面的录制会话样本/脚本,就是会话内软件、操作、时序的一些组合定义。

11.4    添加Connection

Connection就是告诉Launcher如何创建、连接各测试用户的会话,下文以通过StoreFront访问XD 7.8交付的共享桌面演示配置过程。

沿Management Console -> Test Setup -> Connection路径点击右侧的Start connection wizard按钮来启动配置向导

向导启动后第一个会询问连接类型,点击倒三角并在可选项中选中本文适用的StoreFront类型

下一步则会询问StoreFront的URL,请在此处填写Store URL,而不是Receiver for Web URL

若需要确认Store URL,请在Citrix Studio控制台选中目标Store名称,再看下方显示的详细信息进行确认

Connection向导下一步则询问测试用户信息,下图是用户信息页默认的值

Domain是指活动目录(域)名称,根据官方文档说此处仅在StoreFront设置了信任的域后才填写,未详细验证。

Username则指连接使用的用户账号名称,后面的{count}是指账号中填充数字个数,具体计算方法看官方文档

Password则为密码,按实际填写即可

Resource name则填写连接(测试)使用的资源名称,资源可以是应用或者桌面,按DDC发布的资源名称填写即可,如果有空格则使用双引号包含

下面为从Citrix Studio确认待测试资源名称操作示例,在Studio点击交付组后查看相关的应用、桌面,然后在Details中可以看到相关的名称

下图则为本次测试过程中使用的实际值

11.4.1    会话显示设定

再下一步则为配置每个测试会话中显示相关信息,如像素、分辨率等等,可根据实际需要配置

11.4.2    设备映射设定

然后则来到会话终端外设映射配置,在这里可以配置是否映射终端(Launcher)的各类外设资源,如音频、COM口等

11.4.3    生成连接字符串

以上配置向导的作用是为了生成一条带参数的会话连接字条串,故来到向导的最后一步就会显示根据输入生成的命令汇总,可直接点Finish完成,稍后还能再看到这个些命令的

至此连接配置已经完成,会返回Management Console,如下

从Console窗口可以看到刚才生成的命令行已经在Command line框内,也就是说稍后的Launcher就是用这里填写的命令行来创建目标会话。

“{VSISHARE}\_VSI_Binaries\Connectors\SFConnect.exe” /url http://hhctx.log.in/Citrix/Store /user {domain}\{username} /password {password} /resource “MyDesk”

观察生成的命令行,可以看到就是主体可执行程序(SFConnect.exe)+参数(/url /user /password /resource),然后Login VSI定义的变量使用{}表示并引用。

如果了解了命令行的格式,那么在后续的测试中需要微调的参数就可以直接在这个command line框中修改,而不必再次运行一次向导重新填写所有的参数。

上面仅提供了一个通过StoreFront建立连接的示例,更详细的参数列表可以参照官方文档中的Login VSI Connectors Reference,里面还看到如使用Web Interface或者直接DDC建立会话的配置方法。

需要提醒的是,向导生成的默认值是几乎没有启用外设映射的,这可能与实际用户场景不吻合,造成测试结果与实际用户体验相差过大,请根据实际需求进行微调测试参数。

11.5    配置测试场景

11.5.1    选择测试场景

此处应该是执行测试前的Final Touch,前面已经配置好了域、连接、资源、launcher节点等等信息,接下来就是选择一个使用场景来测试,然后就可以开始测试了。

点击Management Console左侧的Scenario选项卡,右侧会出现如下所示的配置界面

点击Workload右侧的倒三角箭头可弹出可选的场景列表,选中一个即可,当然也可以配置为场景的混搭(Workload Mashup,目的在于模拟不可预测的人类行为)

11.5.2    Workload mashup配置

如果需要使用场景混搭,则需要在Workload中选择Workload mashup场景,然后点击下方Workload mashup对话框右侧的加减按钮来增加需要的Workload,测试会话(用户)以轮询的方式按列表设置的顺序创建并执行,如果需要增加某类型的比重,则将对应的Workload多添加一次或者多次到列表内即可。

11.5.3    Phase设定

抱歉未能找到一个合适的词翻译Phase这个词,在我的理解中这里的Phase是指阶段。

Phase是指整个测试分几轮测试,可以一个或者多个Phase,如果有多个Phase,则按顺序执行,每个Phase超时后才会开始下一个Phase的测试。请留意上一句使用的是超时,因为假如一些会话因为异常停止,那么这个会话并未按预设完成指定的测试任务,严格意义上来讲这个测试无法结束,也就无法触发当前Phase结束的信号,进而导致无法下一个Phase的开始,故使用超时器来判断一个会话、Phase是否完成。

针对每个Phase都可以设置独立的用户数及执行时间,如下图所示

需要增加、调整Phase则在最下面的按钮栏中可以找到对应的按钮

11.5.4    基准测试

如果选择自定义的workload类型,则可以执行自定义的基准测试(Basephase),基准测试里设定的session数是在正式测试开始前一次性全部建立的,并不像标准Login VSI测试过程那样阶段性的递增session数,请注意这个区别。

阅读说明文档(Basephase)可以得出这个设置在4.1版本已经标记为淘汰的算法(功能)。Login VSI认为4.1版本中引进的新算法(正态分布原理,剔除两种无效的极端数据,取中间段均值)能更加准确的计算系统的基线数据,而不需要使用这种以固定session数来为用参考(引用)计算方法。

12    开始测试

在Management Console左侧按钮最末尾的一个地方你可以找到Start Test,在这里可以确认设定信息并执行测试任务。

按照Management Studio首页显示的流程,完成前面几步基本设置和选择测试场景后就全部准备好了,从Login VSI的角度来看是可以开始执行测试了。

当然,本文较不关注的VDI产品的部署,但是依然要提醒的是在使用Login VSI执行自动化测试前,必须要手动的在Launcher主机上完成会话建立的测试,如测试能否正常建立Citrix XenDesktop发布的待测试桌面、应用ICA/HDX会话,并简单验证相关的Office等软件是否能正常的运行。

点击Management Console主窗口左侧的Start Test,然后回顾中间信息汇总中的Workload等等信息,如果没有问题就可以点击右上角的start test开始初始化测试过程

点击start test弹出测试向导页面,点击下一步继续

接着来到基本的测试配置处,在这里有两个选项,一为注销会话、二为配置创建模式

Logoff sequence是指设定额外的定时器来激活测试会话注销过程。如果没有额外的设定,默认的配置下未超时的会话会被重复执行99999次再注销,如果配置了这个选项,则以最先触发的条件来执行注销流程,例如上图的示例,如果120秒这个条件先达到,那么会话将会被注销而不用等到重复执行99999次后再注销。

未确定profile create mode是指创建workload profile还是user profile,也未找到明确文档说明,所以读者需要自行确认Enable profile create mode用途。

再下来则是输入本次测试名字,因为每次测试均会生成相应的配置和数据文件,所以在删除历史数据前测试名不可重复。

接下来看到的Launcher workflow是用于自动从当前主机(运行Management Console的主机)建立RDP会话到选定的Launcher。

要启用自动RDP到相应Launcher,则勾选下图中的Use launcher workflow,并按要求填写launcher用户名(默认为Launcher-V4)及密码。Launcher用户名的填写必须准确,因为Launcher用户在账户属性上配置了自动登录脚本,只有登录脚本运行正常才能让Launcher主机正常接收本次测试任务的配置并按设定执行测试过程。

如果不启用,则需要在后期自行通过Remote Desktop Connection工具(mstsc.exe)建立会话到对应的Launcher主机,并使用Launcher用户(默认为Launcher-V4)登录。

再接着来到配置前置与后置脚本,在此处可以设定Launcher主机上开始测试前、后执行的脚本

再下一步就是检测Session Monitor运行状态,在Login VSI架构中Monitor相当于监控及信标工具,如果未运行最终会造成各会话数据无法统计,所以测试开始前一定会检测Monitor运行状态。

如果Session monitor检测结果不是running,那么需要手动到VSI Share主机上运行Session Monitor工具,然后再返回测试向导工具框点击下一步。

登录到Data Server(VIShare托管主机),点击共享目录或者开始菜单上的Login VSI SessionMonitor快捷方式以运行Monitor

如果Session monitor检测结果是running,那么点击下一步就会来到Launcher check的步骤。

如果前面已经启用了Launcher workflow,那么正常情况下不会出现Launcher check步骤,向导会自动建立一个RDP会话到Launcher主机,然后开始后继的测试。

如果前面未启用Launcher workflow和Launcher状态不正常,此处才会出现Launcher check页面,并提示相关的信息指引RDP登录或者检测各Launcher状态。

如果上面两步都顺利通过,那么会至少一个RDP会话出现,数量与前面控制台添加并启用的Launcher数量一致。

上面图中显示的是Launcher-V4账号登录后自动运行(用户账号属性下设定的登录脚本)的Launcher小工具并最小化,正常的情况下等待一小段准备时间会就开始执行测试负载(任务),如果长时间无会话出现,则需要查看一下该脚本执行窗口出现的错误信息。

下面提供一张Launcher成功运行ICA会话时的参考,可以看到ICA会话是全屏显示的,然后在中下方有一个前置显示的水印展示当前会话详细信息,如Workload、第几次循环、执行到哪个Segment。

而在Management Console也会同步显示测试相关的信息,如下图所示

 

 

13    额外测试类型

Login VSI除了整体性能测试Workload之外,还有两个单独的Workload分别用于测试存储性能及vGPU方案,本文不做演示,仅提供官方文档链接,如下

13.1    Login VSI Storage Workload

http://www.loginvsi.com/documentation/Login_VSI_Storage_Workload

13.2    Login VSI Graphics Framework

http://www.loginvsi.com/documentation/Login_VSI_Graphics_Framework

这两种测试模型均是为了测试特定子系统而设计,如果只是为了测试VDI的综合平台性能,使用常规的Workload即可,无须理会这两种类型。

14    数据分析

14.1    运行Analyzer

运行Management Console,点击主窗口左下角的Analyzer

如果是首次运行则会弹出First Run配置对话框

再接着就是选择测试名称(性能数据)及分析操作类型(创建平均、对比、打开),下文仅打开(Open)性能数据进行分析

Analyzer打开指定的测试结果数据后,会自动根据相应的数据点进行展示相关测试会话信息及绘制不同维度的性能数据图表,如下所展示为Summary信息

如果需要查看其它信息或者更详细的分类性能数据,可以点击最上面的标题进行切换,如想要看VSImax的概况,可以点击VSImax4标题后切换到VSImax的图表

关于VSImax指标的实际参考意义,则需要先了解LoginVSI的测试逻辑,LoginVSI认为应用响应速度才是VDI解决方案中的决定性指标。故其逻辑是阶段性的增加会话数量直至系统达到饱和状态(无法接受新会话),在每一批次会话后主要记录所有会话内应用程序响应时间(运行、加载文件、执行其它操作各阶段均计时),然后注销本批次所有会话,再接着进行迭加一定数量的会话数,再执行相同模式的操作,同样记录迭加会话数后所有会话内的应用响应时间。这一点上与EdgeSight for Load Testing是不同的,请留意。

这个过程值得留意的是,如果你创建了足够多的用户,那么LoginVSI会尽可能的每一批次使用不同的用户来创建会话,这意味着得出的结果更加公正。

然后每批次记录的应用程序响应时间和会话数用自己的算法及权重(不同应用权重不一样)来计算出一个他们认为较全面(合理)的Index值来作为分析依据

After a test is performed, the response times can be analyzed to calculate the maximum active session/desktop capacity. Within Login VSI this is calculated as VSImax. When the system is coming closer to its saturation point, response times will rise. When reviewing the average response time it will be clear the response times escalate at saturation point.

14.2    应用数据分析

Login VSI在测试过程中收集了非常明细的各类应用操作结果,如运行应用(启动)、加载(读取)文件等,利用这些细节数据,可以得出应用响应时间曲线,也可以透过这些数据理解用户行为如何影响主机性能及会话容量。若需要查看这些明细,可在Analyzer窗口中点击对应的标签面。

首次使用Analyzer时可能会对各缩写名不清楚具体含义,无需担心也无需记住,因为在左下角均有解释,如上图示。

14.3    导入外部数据分析

前面演示的数据分析均由Login VSI的数据收集器采集来的,Analyzer还可以导入外部数据来进行汇总分析的,外部数据源如Hypervisor性能等等,具体的数据源格式及要求请参照官方文档。相应的操作方法亦不进行演示,读者可参考官方的帮助文档。

 

 

15    附录

官方文档库相关链接

  1. Technical Introduction to Login VSI

https://www.loginvsi.com/blog/login-vsi/303-technical-introduction-to-login-vsi

  1. Login VSI – Documentation

https://www.loginvsi.com/documentation/Login_VSI

  1. GPO All Settings

https://www.loginvsi.com/documentation/Login_VSI_All_Settings

  1. Login VSI Launcher

https://www.loginvsi.com/documentation/Login_VSI_Launcher

  1. Login VSI Connectors Reference

https://www.loginvsi.com/documentation/Login_VSI_Connectors_Reference

  1. Published Applications Configuration and Testing

https://www.loginvsi.com/documentation/index.php?title=Published_Applications_Configuration_and_Testing

  1. Uninstall Login VSI

https://www.loginvsi.com/documentation/index.php?title=Uninstall_Login_VSI

  1. Allowing Remote RPC

https://technet.microsoft.com/en-us/library/ff710472(v=ws.10).aspx

  1. How to Suppress the Add Account Window in Citrix Receiver for Windows

http://support.citrix.com/article/CTX135438

  1. How to Suppress the Add Account Window in Citrix Receiver 4.4 or Earlier for Windows

http://support.citrix.com/article/CTX212272

  1. How to Configure Default Device Access Behavior of Receiver, XenDesktop and XenApp

http://support.citrix.com/article/CTX133565

  1. 写的非常详细!我在上个月申请了试用了License,可惜只允许20个并发session。第二次申请还没有回复。请问你申请到的50个并发session的授权是如何拿到的?