Citrix虚拟应用和桌面服务

云连接器的规模和大小注意事项

在评估Citrix虚拟应用和桌面服务的规模和可伸缩性时,考虑所有组件。针对您的特定需求,研究并测试云连接器和客户管理的StoreFront的配置。机器规模过小会对系统性能产生负面影响。本文详细介绍了测试的最大容量,以及Cloud Connector机器配置的最佳实践建议。

总结

本摘要中的所有结果都基于本文档详细部分中配置的测试环境的结果。不同的系统配置可能产生不同的结果。

测试的主要结果:

  • Citrix虚拟应用和桌面服务的规模和可伸缩性
    • 对于托管不超过5,000个工作站VDAs的站点,建议使用一组3个4-vCPU云连接器。
      • 这是一个N+1高可用性配置。
    • 发放1000个虚拟机平均耗时140分钟。
  • Citrix虚拟桌面要领
    • 对于1000个Windows 10虚拟机,推荐在Azure Standard_A2_v2虚拟机上托管两个云连接器。
    • 启动1000个会话到Azure上的Windows 10虚拟机只需要不到20分钟。
    • 测试发现,从用户登录到StoreFront,直到用户收到具有默认设置的功能性VDI桌面,大约需要44秒。
    • 在Azure中发放1000个Windows 10虚拟机平均需要8个小时。
  • Citrix Cloud管理云连接器服务,客户管理机器。
  • Citrix Virtual Desktops Essentials的会话启动测试使用NetScaler设备。所有其他会话启动测试都直接使用到StoreFront的连接。

测试方法

执行测试是为了添加负载和测量环境组件的性能。通过收集性能数据和过程计时(如登录时间、机器创建时间)来监视组件。在某些情况下,使用专有的Citrix模拟工具来模拟VDAs和会话。这些工具被设计为以与传统vda和会话相同的方式运行Citrix组件,而不需要相同的资源需求来承载真实的会话和vda。我们执行了以下测试:

  • 会话登录风暴:模拟大容量登录周期的测试
  • VDA注册风暴:模拟大容量VDA注册周期的测试。例如,在升级周期或停机恢复之后。
  • 机器创建服务发放:度量执行任务(如复制映像、创建Active Directory帐户和创建机器)的时间的测试。

我们使用从这些测试中收集的数据来建议Cloud Connector的大小。测试执行细节如下。

会话登录风暴测试

会话在客户管理的StoreFront服务器上独立启动。针对每个环境运行了1,000个会话、5,000个会话和20,000个会话测试。我们收集了StoreFront登录、资源枚举、ICA文件检索和活动桌面时间。活动桌面时间是从ICA文件开始到资源完全加载并准备使用的时间。

对于一些测试场景,我们使用模拟工具来帮助测试更大的用户数量。模拟工具允许使用比运行5000或20000个实际会话所需的更少的硬件进行测试。这些模拟会话将通过正常的StoreFront登录、资源枚举和ICA文件检索,但不启动活动桌面。相反,模拟工具向ICA堆栈报告会话已经启动。从代理代理到代理服务的所有通信都与实际会话的通信一致。性能指标是从云连接器中收集的。

为了确定环境如何响应会话启动,在整个测试期间保持25个会话启动的持续并发。因此,测量结果显示了整个测试过程中系统在负载下的结果。

VDA注册风暴测试

在VDA注册风暴中,成百上千的VDA同时被注册以模拟站点恢复。高容量VDA注册通常发生在每两周的升级周期之后,或者在“周一上午”场景中,或者当系统从客户管理的机器和citrix管理的服务之间的中断中恢复时。使用5,000个VDAs进行测试,并通过在每次测试期间收集性能数据来监控云连接器。数据包括Perfmon计数器(CPU、内存、磁盘利用率)和VDA注册时间。

机器创建服务发放测试

配置测试是通过创建计数不同的目录来执行的。测量各种任务(图像复制、AD帐户创建和机器创建)的时间以衡量性能。我们在Azure中测试了目录大小的增加。Azure和客户管理的虚拟机监控程序都进行了1000次机器配置测试。在Azure中进行的测试仅限于Windows 10虚拟机,因为Windows 10是Citrix Virtual Desktops Essentials唯一支持的操作系统。客户管理的hypervisor在Windows 10和Windows 2012 R2上进行了测试。

测试环境

测试环境配置包括Citrix云连接器、Citrix虚拟应用程序和桌面服务以及Citrix虚拟应用程序和桌面组件。这里提供了我们使用的机器和操作系统规范,以便您可以将我们的配置和测试结果与您自己的配置和需求进行比较。

工具使用

一个内部测试工具从被测试机器收集性能数据和指标,并驱动会话启动。这个专有工具将用户会话调度到Citrix虚拟应用程序和桌面环境,并提供一个收集响应时间数据和性能指标的中心位置。本质上,测试工具管理测试并收集结果。

测试配置- Citrix虚拟应用程序和桌面

以下是Citrix虚拟应用和桌面测试期间使用的机器和操作系统规格列表。

  • 云连接器:
    • 场景一:两台Windows 2012 R2, 2vcpu, 4gb内存
    • 场景二:两台Windows 2012 R2, 4vcpu, 4gb内存
  • 店面(customer-managed):Windows 2012 R2操作系统1台,8vcpu, 8gb内存
  • 虚拟机监控程序:8台VMware vSphere ESXi 6.0 Update 1, HP ProLiant BL 460c Gen9, 2台Intel E5-2620 CPU, 256gb内存
  • 虚拟机监控程序存储:NetApp 3250上的2tb NFS共享
  • 的共识:Windows 2012 R2和Windows 10 32位Build 1607

测试配置- Citrix虚拟桌面要领

会话从100台Windows 2012 R2客户端启动机启动。会话是根据Azure中托管的Windows Active Directory进行身份验证的。漫游配置文件存储在Azure的Windows文件服务器上。

  • 的共识:1000个Windows 10 64位Build 1607, 2vcpu, 7gb内存(Standard_D2_v2实例)
  • 客户:100台Windows 2012 R2服务器,8vcpu, 8gb内存
  • 域控制器:2台Windows 2012 R2, 4vcpu, 14gb内存(Standard_D3_v2实例)
  • 文件服务器:Windows 2012 R2, DS11实例1个
  • NetScaler VPX:一个NetScaler 11.0, Standard_D3_v2实例,拥有1,000个白金许可证
  • 云连接器:
    • 场景一:2个Windows 2012 R2, 2vcpu, 4gb内存(Standard_A2_v2实例)
    • 场景二:两台Windows 2012 R2, 4vcpu, 7gb内存(Standard_A3实例)
  • 店面(customer-managed):一个Windows 2012 R2, DSv2实例

Customer-managed机注意事项

客户管理的机器可以位于客户办公室、数据中心或云帐户(如Azure或AWS)。根据我们的定义,客户管理机器是完全由客户控制的机器。客户管理的机器包括:云连接器、StoreFront服务器、RDS服务器、VDI机器和远程PC访问机器(测试期间未涉及)。为了简洁起见,我们在整个报告中都将RDS服务器、VDI机器和远程PC访问机器称为VDAs。

店面的服务器

在测试Citrix虚拟应用和桌面服务时,我们使用了一台8-vCPU、8-GB内存的机器作为客户管理的StoreFront服务器。对于Citrix Virtual Desktops Essentials测试,我们为客户管理的StoreFront服务器使用Azure Standard_DS2_v2 (2vcpu, 7gb内存)。看到计划您的StoreFront部署调整StoreFront服务器的大小以适应您的环境。

云连接器

我们测试了托管在vm上的客户管理的云连接器,在一个场景中有2-vCPU和4gb内存,在另一个场景中有4-vCPU和4gb内存。在Azure中,云连接器在Standard_A2_v2 (2vcpu, 4gb内存)和Standard_A3 (4vcpu, 7gb内存)实例上进行了测试。

在我们的测试中,云连接器部署在HA集(它们不是负载平衡的).尽管本文档主要关注具有两个云连接器的测试环境,但推荐使用N+1组的三个云连接器。本报告的其余部分重点讨论云连接器,以及如何对它们进行调整以获得最佳性能。

测试结果

VDA登记风暴

VDA注册风暴测试提供的数据显示了云连接器大小和环境稳定性之间的关系。在客户管理的位置和citrix管理的服务之间发生网络中断的情况下,测试环境稳定性。当Delivery Controller和Site数据库每两周升级一次时,可能会触发VDA注册风暴。

云连接器的CPU大小比较2 vCPU和4 vCPU

云连接器CPU大小比较

  • 平均使用量类似,但2-vCPU的机器CPU在测试期间处于紧张状态,偶尔会观察到VDA注销。
  • 对于拥有大约5000个VDAs的站点,建议使用4-vCPU云连接器以保持稳定性。
  • 对于托管2,500个vda的站点,建议使用2-vCPU云连接器。
  • 云连接器是一个高可用性集,不进行负载平衡。
  • 对于托管5000个VDAs的站点,我们不推荐使用2-vCPU Cloud Connector的一个原因是机器分配的随机性。由于云连接器不是负载平衡的,因此无法预测输送到任何一个云连接器的负载大小。有时,我们发现超过60%的负荷都集中在一台机器上。
数量的共识 云连接器需要
< 2500 2个vm + 1,每个vm有2个vcpu
< 5000 2个vm + 1,每个vm有4个vcpu

云连接器HA对VDA注册风暴时间比较

云连接器大小 VDA计数 登记时间
2个VCPU 5000 11:03
4个VCPU 5000 5:46
  • 安装了4个vcpu的云连接器在测试中被证明更加稳定。
  • 当云连接器配备了4个vcpu时,VDAs注册速度更快。
  • 在使用2-vCPU云连接器测试期间观察到VDA重新注册。
    • 当注册尝试超时或VDA通信心跳延迟时,可能会发生重新注册。

在5000 VDA注册风暴期间,云连接器上组件的内存使用情况

内存使用图像

  • 此图是注册风暴测试期间,Citrix组件和Microsoft LSASS(本地安全权威子系统服务)的内存使用的详细视图。
  • 云连接器上的LSASS进程在注册和会话启动中都起着重要的作用。所有由Citrix云服务进行的Active Directory身份验证都通过云连接器代理给客户管理的Active Directory。
  • 内存使用率在VDA注册期间达到峰值,所有VDA注册成功后下降。
  • 在拥有4gb内存的Cloud Connectors上可以观察到高内存使用率。

启动会话(Citrix Virtual Desktops Essentials)

使用Citrix Virtual Desktops Essentials平台进行了1,000个会话启动测试。测试比较了不同大小的Cloud Connector实例。我们测试了Standard_A2_v2 (2vcpu, 4gb内存)和Standard_A3 (4vcpu, 7gb内存)实例。

在会话启动测试期间,Citrix的连接器CPU使用情况管理StoreFront

连接器CPU使用情况映像

  • 在测试期间有较低的CPU竞争。Standard_A2_v2实例大小足以在高负载会话启动测试期间处理1,000台VDI部署。
  • 对于这个站点大小,Standard_A3实例被认为是过多的,所以我们继续分解Standard_A2_v2。
  • 较大的VDI站点可能需要使用Standard_A3。

A2v2云连接器上的顶级组件在1,000个会话启动期间的CPU使用情况

CPU使用率的形象

没有显示在Cloud Connector上运行的更多进程,因为它们没有注册有意义的指标。

  • Citrix远程代理提供者(XaXdCloudProxy)处理客户管理的VDA机器和Citrix管理的服务(交付控制器)之间的通信。
  • 云连接器上的LSASS处理所有Active Directory身份验证。由Citrix云服务进行的身份验证通过云连接器代理给客户管理的活动目录。
  • 该图显示了在测试期间接收到较高负载的单个云连接器的使用情况。测试中额外的云连接器显示了较低的CPU使用率,并且没有包含在图中。

云连接器内存使用实例比较

云连接器内存映像

  • 当标准_a2_v2虚拟机可用内存越低(4gb),说明该虚拟机内存利用率越高。
  • 高内存利用率是由Citrix RemoteHCLServer (RemoteHCLServer)进程造成的,该进程在Azure中维护1,000台机器的电源状态。
    • 由于Azure API速率的限制,不能定期查询状态。
  • 在我们的测试之后,对Citrix远程HCL服务器(RemoteHCLServer)所做的更改允许交付控制器直接与Azure通信机器状态。
    • 该更改显著减少了内存使用,并允许Standard_A2_v2实例管理1,000个VDA站点而没有问题。

会话启动时间

标准a2_v2和标准a3的比较

A3 A2v2
进行身份验证 561毫秒 575毫秒
列举 1132毫秒 1054毫秒
总登录 1693毫秒 1629毫秒
检索ICA文件 3464毫秒 3659毫秒
操作系统登录完成 38.83秒 41.91秒
总发射 42.3秒 45.6秒

时间是所有测试运行的平均值。Azure中客户管理的StoreFront服务器:Standard_DS2_v2 (2vcpu, 7gb内存)

  • 在测试期间,客户机和NetScaler之间大约有30毫秒的延迟。
  • 当环境受到压力时,使用云连接器的Standard_A3实例时,会话启动时间平均会减少3-4秒。
    • Standard_A3虚拟机的CPU核数是Standard_A2_v2的两倍
    • 在测试期间,Standard_A2_v2实例的内存使用率很高。
      • 当我们在Azure ARM部署中从云连接器中删除RemoteHCLServer通信时,高内存利用率得到了解决。

1000个Windows 10会话的会话登录时间

会话日志映像

  • 所有机器在测试前都已开机。
  • 测试过程在大约8分钟的时间内开始了1000个会话。
  • 使用Standard_D2_v2实例Windows 10 64位VDA激活桌面的平均时间大约为37.67秒。
  • 该图显示了从检索ICA文件到出现活动可用桌面的整个测试过程中的个人登录时间。
    • 绿色和黄色区域分别表示一个和两个标准偏差。
  • 尽管会话开始时间是一致的,但也有一些异常值。网络条件的瞬时变化可能导致异常值,影响:
    • 通过云连接器代理的NetScaler上的安全票证授权(STA)票证交换。
    • 在广域网上建立HDX连接。
    • Azure存储。测试使用标准存储。

模拟会话启动

模拟会话启动测试对云连接器、交付控制器和站点数据库施加了压力。模拟会话启动测试组件处理大量并发登录和在持续负载下维持这些会话的能力。测试了5,000和20,000个会话计数。本文档主要关注20,000个会话的测试。两个测试的启动速率和组件行为几乎是相同的。20,000个会话的测试运行时间更长,并提供了随时间变化的更广泛的服务使用情况。25次会议以最快的速度同时启动。尽可能快地启动会话的设置允许被测系统指定环境响应连接的速率。

Cloud Connector HA设置会话启动测试期间的CPU使用情况

云连接器HA映像

  • 该图显示了在20,000个会话启动期间,Cloud Connector CPU使用情况的比较。
  • 部署了两个云连接器用于压力和负载测试。为实现高可用性利用率,建议N+1部署三个云连接器。
  • 在测试期间没有观察到CPU争用。

在20,000个会话启动测试期间,按组件划分的云连接器CPU使用情况

Cloud Connector CPU映像

  • LSASS(本地安全授权子系统服务)在使用StoreFront进行会话登录时使用CPU。
  • 来自citrix管理的服务的所有身份验证必须遍历云连接器,以与客户管理的Active Directory通信。

在20,000个会话启动期间,组件的内存使用情况

内存使用图像

  • 会话启动期间内存压力很低。
  • 在整个测试过程中,大多数组件的内存使用不会发生变化,因为Max和Average值几乎相等。

使用StoreFront进行会话启动观察

行动 时间
进行身份验证 261毫秒
列举 1075毫秒
总登录 1336毫秒
检索ICA文件 2132毫秒

机器创建服务发放

Citrix虚拟桌面基本MCS测试Azure资源管理器

Machine Creation Services允许您在Azure中创建和删除虚拟桌面(VDA)。第一步是创建一个Windows 10 VHD,然后将VHD上传到Azure。镜像是从VHD创建的。Citrix Virtual Desktops Essentials允许您从映像创建虚拟机。

机数 图像复制 广告帐户创建 创造机
10 30分钟 1分钟 7分钟
One hundred. 30分钟 7分钟 50分钟
250 40分钟 8分钟 2小时
500 55分钟 15分钟 4个小时
1000 65分钟 30分钟 8小时

时间是根据几次测试运行而估计的,可能会有所不同。

  • 我们使用各种机器计数来测试机器创建过程,以测量所需的时间:
    • 复制图像
    • 创建计算机帐户
    • 提供的机器
  • 时间不会线性增加,因为映像的副本必须复制到每个存储帐户。复制是并行进行的,任务越多,复制速度越慢
    • 每个存储帐户有40台机器的限制。对于1,000个虚拟机环境,限制要求25个存储帐户。
    • 每个资源位置有760台机器的限制。
  • Active Directory帐户的创建必须通过Cloud Connectors进行代理,这将增加完成任务所需的时间。Active Directory帐户的创建速度约为每分钟33个。
  • 测试使用Standard_A2_v2云连接器。没有观察到资源瓶颈。

Citrix虚拟应用和桌面服务MCS测试

MCS配置测试是在VMware ESXi 6.0管理程序上执行的。集群中有8台vSphere主机,共享存储为NetApp共享的NFS。

操作系统 机数 图像复制 广告帐户创建 创造机
赢得2012 R2 One hundred. 4分钟 3分钟 4分钟
赢得2012 R2 1,000 5分钟 30分钟 100分钟
赢得10个32位 One hundred. 4分钟 3分钟 4分钟

时间是基于多次测试运行的近似时间,可能会有所不同。这些运行的测试数据在表中被取平均值。

  • 机器创建过程所需的时间与XenApp和XenDesktop 7中所需的时间类似。x版本。这些测试的主要区别是Active Directory帐户的创建。在云环境中,帐户创建必须通过cloud Connectors进行代理。云环境中的Active Directory帐户的创建速度约为每分钟33个。
  • 我们为云连接器使用两个4-vCPU、4-GB内存vm进行测试。在测试期间没有观察到资源争用。
云连接器的规模和大小注意事项