设计决策:在 Azure 上交付 Citrix DaaS 的可扩展性和经济性

本文档的目标是为正在 Microsoft Azure 云中部署 Citrix 桌面即服务 (DaaS) 的企业提供指导。为了向客户提供尽可能好的建议,我们决定确定影响 Citrix 体系结构和设计决策的四个关键问题的答案:

  1. 托管 DaaS 的最有效实例系列是什么
  2. 在最高效的系列中最具成本效益的实例类型是什么
  3. Machine Creation Services I/O (MCSIO) 缓存会产生什么影响?
  4. 与 Windows 服务器操作系统相比,Windows 10 多会话可扩展性如何?

Citrix 提供了一份更详细的论文,其中介绍了测试方法的具体细节以及评估期间捕获的性能结果。本白皮书重点介绍了高级别的结果,并就如何在 Microsoft Azure 云中设计高效的 Citrix 实施提供了指导。

为了确定性能,我们使用 LoginVSI 4.1.32.1,它创建了针对单个 Citrix 服务器的模拟会话。我们用于测试的两个工作负载描述如下:

  • 任务工作线程工作负载 — 包括Microsoft Office 2016 Outlook、Excel、互联网资源管理器、Adobe Acrobat 和 PDF 编写器的细分。任务工作线程工作负载不会对环境提出高要求,而是表示无法大量访问系统的用户。
  • 知识工作者工作负载 — 包括Microsoft Office 2016 Outlook、Word、PowerPoint、Excel、Adobe Acrobat、FreeMind、PhotoViewer、Doro PDF Writer 的细分,包括观看多部 360p 电影。知识工作者工作负载对环境提出了更高的要求,包括更多地使用可用内存,并代表了更多地访问系统的用户。

成功完成多会话测试的用户数量是实际情况下的关键性能指标。此值称为 VSImax 会话计数,用于比较分析。登录 VSI 工作负载通过观察系统上单个用户的响应时间来计算 VSImax 会话计数。当响应时间大大缩短到预期阈值以下时,即可达到 VSImax,该阈值是根据系统中只有一个用户所采用的基准值得出的。

为了提供可以在没有专业知识的情况下一致复制的保守数字,此处的所有结果都反映了使用默认 Citrix 策略和未优化的 Windows 和 Office 产品默认设置的测试执行。通过应用 Citrix WEMCitrix Optimizer 等 Citrix 优化工具,可以提高性能和密度。

什么是最有效的实例系列

为了找到最有效的实例系列,我们需要在不更改混合中的任何其他变量的情况下测试不同的实例系列。基本映像是 Windows Server 2016,其中 1903.1 版本的 Citrix VDA 和标准硬盘驱动器 (HDD) 128 GB 磁盘用于系统 C: 驱动器。我们选择 8 核实例类型的主要原因有两个:

1) 它们代表了托管会话的 Azure 实例类型的主力,通常是部署的最受欢迎的大小 2) 与较小的 2 核系统相比,它们在 CPU/RAM 和最小的操作系统影响之间实现了良好的平衡。

下图显示了实例系列结果以及基于执行测试的 Azure US-West-2 区域的按使用即付定价计算的每位用户每小时平均成本。

8 核性能

分析

这些实例类型中的大多数使用相同的处理器,英特尔® 至强® CPU E5-2673 v4 @ 2.30 GHz。主要区别在于虚拟机可用的内存量。有关这些不同系列的更多信息,请访问 Microsoft网站

一般来说,8 核实例的性能非常相似,尤其是在考虑物理核心(D13_v2、D4_v2、L8)与超线程内核(F8S_v2、D8_v3、E8_v3)相比时。但是,如果考虑实例的小时成本,D13_v2 和 F8s_v2 实例可提供更高效的使用。e_v3 和 LS_v1 系列的成本效益较低,因为Microsoft 对内存优化和存储优化型实例收取更高的额外费用。在用户的应用程序非常密集的内存或存储空间的情况下,这些实例通常可以提供良好的投资回报。

建议

如果您的典型用户的应用程序占用 CPU 密集型,并且不需要大量内存即可运行,则最具成本效益的性能是 F 系列。当您需要极佳的 CPU 响应时间且不需要大量内存时,请选择 F 系 列。如果用户的应用程序消耗相当大的内存量,请使用 D 实例类型之一,具体取决于用户环境每核需要多少额外内存。

在最高效的系列中最经济高效的实例类型是什么

当我们完成了对家庭的广泛测试时,我们期望单个系列将成为明确的领导者。但是,结果最终使我们相信,在使用标准硬盘存储进行测试时,进行额外测试的两个最佳实例系列是 D 系列和 F 系列。下一步是测试 d_v2 和 FS_v2 系列中的 2 至 16 个 vCPU 的特定大小。这些测试的结果如下所示。

FS 和 D 系列性能

分析

上图显示了在 D14_v2 实例类型(16 个内核,112 GB RAM)上获得的这些测试的结果,分别针对任务工作人员和知识工作者而言,密度最高为 74 和 63 个用户会话。由于不同实例类型的定价不同,密度越高并不一定意味着每个用户的成本降低。

Azure 实例的定价模型因区域、实例类型和提供的资源而有所不同。上图还包括基于单服务器测试中获得的 VDA 用户密度的每种实例类型的成本效益。成本反映了截至 2019 年 9 月的美国西部 2 标准虚拟机实例的即用即付定价,包括 Microsoft Windows 许可的成本。

如上图所示,D13_v2 实例类型显示任务工作线程的每个用户每小时最低的每小时成本为 0.018 美元,其中 F16s_v2 和 F8s_v2 是第二个,成本为 0.019 美元。至于知识工作者,F16s_v2 和 F8s_v2 实例类型的最佳小时成本为 0.025 美元,其次是 D13_v2 实例类型为 0.026 美元。

建议

在测试中,密度结果显示,在知识员工负载较重的情况下,FS v2 系列实例提供的更快的处理器将带来明显的好处。但是,FS v2 内存与内核的比率低于 D v2 系列比率,我们建议仅在工作负载的内存消耗较低时使用 FS v2 系列实例。如果用户运行内存密集型应用程序,则 d_v2 系列是最佳选择。

当每个用户的成本相似时,例如 F8S_v2 和 F16s_v2 的情况下,当存在以下情况之一时,请选择较小的实例大小:

  • 需要弹性:您希望在维护窗口期间对用户造成的影响更少
  • 需要高效的电源管理:您希望快速关闭未使用的计算机

如果存在以下任一条件,请选择较大的实例大小:

  • 需要减少管理:您希望在环境中管理更少的计算机
  • 需要减少 API 调用:您需要更少的 API 调用 Azure 基础体系结构进行操作

Machine Creation Services I/O 缓存会产生什么影响

用于测试的实例类型配置了标准存储,而不是虚拟机上系统驱动器的昂贵 SSD 存储。由于具有 SSD 存储的实例类型具有存储页面文件的临时磁盘较小,尽管磁盘速度更快,所以可扩展性较低,因为实例没有足够的交换文件空间来支持较高负载下所需的虚拟内存。

就我们使用的磁盘大小而言,硬盘和 SSD 磁盘具有类似的 IOPS 性能 (500)。尽管 SSD 磁盘的性能更加一致,但额外的成本并不总是合理的。

然后,我们决定考虑使用 Machine Creation Services I/O (MCSIO) 缓存,作为使用较大 SSD 类固态硬盘性能的一种方法。测试是使用 Citrix VDA 版本 1903.1 和 Windows 服务器 2016 在 D5_v2(16 vCPU,56 GB 内存)实例类型上完成的。下图显示了通过使用知识工作者负载启用 MCSIO 缓存而增加的用户密度。

MCSIO 性能

分析

当操作系统磁盘未启用 MCSIO 缓存时,VSImax 用户在 128 GB 硬盘上的得分为 61 分,64 GB SSD 磁盘上的分数为 74 分,128 GB SSD 磁盘上为 75 分。在标准硬盘上启用 MCSIO 缓存实际上提供了比 SSD 更好的性能,在 64 GB 硬盘上启用了 4 GB 高速缓存,分数增加到 76,而在 2 GB 缓存的情况下,分数略高至 77 个。4 GB 到 2 GB 高速缓存大小之间的额外用户损失是由于用于缓存的额外 RAM 而不可用于用户工作负载。

尽管 MCSIO 有助于降低每位用户每小时的成本,但该数字本身并不重要。在查看最终用户体验时,可以确定 MCSIO 的真正影响。下图显示了使用 MCSIO 时的平均响应时间下降。

MCSIO 登录响应

建议

如果考虑性能时,用户体验是一个驱动因素,我们建议启用 MCSIO 缓存。启用后,建议使用带 2GB 缓存的标准磁盘,因为它在不影响用户密度的情况下提供了最佳改进。但是,不得在内存受限的虚拟机上启用 MCSIO 缓存,例如针对计算优化但内存与 CPU 内核比率较低的 F 或 FS 系列实例类型。

与 Windows 服务器操作系统相比,Windows 10 多会话可扩展性如何

随着 Windows Server 2019 和 Windows 10 多会话操作系统的发布,我们认为最好就客户端操作系统如何影响可扩展性提供一些指导。Windows 服务器 2019 和 Windows 10 多会话操作系统都需要更新的 Citrix VDA 版本 1906.1。Windows 10 多会话与 Azure 虚拟桌面 (AVD) 授权一起提供,并向租户授予虚拟机的基本价格(Linux 定价)。该权利还将虚拟机定价扩展到 Windows Server 2016 和 Windows Server 2019。

下图显示了在同一 D4_v2(8 vCPU,28 GB 内存)实例上使用 Citrix VDA 版本 1906.1 的 Windows Server 2016 运行相同测试时的密度变化。以下价格使用的是与所需的 AVD 权利一致的 Linux 虚拟机定价。

操作系统性能

分析

与 Windows Server 2016 年的结果相比,Windows Server 2019 为知识工作者和任务工作人员提供的用户密度略低,任务工作人员的用户密度下降了 7%,知识员工的用户密度下降了 12%。

将 Windows Server 2019 与 Windows 10 多会话工作负载进行比较后,任务工作人员减少了 19%,知识员工减少了 32%。预计这种性能下降是因为 Windows 10 是完整的客户端版本,未针对基于服务器的计算(例如 Windows Server 2016 和 Windows Server 2019)进行优化。

使用 Windows 10 多会话的一个成本优势是,客户端不需要 RDS CAL 许可证即可连接到虚拟机。这种成本优势不包括在上面的计算中,因为除了 Azure 每小时成本外,它还是Microsoft 的许可成本。

建议

当计划从 Windows Server 2016 升级到 Windows Server 2019 时,预计虚拟机的数量将增加约 10%。如果您计划使用 Windows 10 MultiSession 托管需要 Windows 客户端以保证兼容性的应用程序,请记住密度将降低,这将导致服务器操作系统的额外成本约为 30%。尽管 Windows 10 多会话确实允许用户访问 Windows 应用商店,这是服务器操作系统不可用的。

结论

选择用于部署 Citrix 虚拟应用程序工作负载的 Azure 实例类型是决定用户密度和可扩展性以及 Azure 交付模型的每用户成本的关键因素。如图所示,Azure 中的不同实例类型具有特定工作负载的优势,例如高计算要求或额外的内存。通常,具有标准 HDD 磁盘和启用了 2GB MCSIO 缓存的 D13_v2 实例以最低的成本提供最佳用户性能。当您需要 Windows 应用商店、应用程序兼容性或真正的 Windows 客户端体验时,请考虑使用 Windows 10 多会话操作系统。

此处介绍的 Citrix on Azure 结果仅代表配置 Azure 解决方案的指导原则。如果您没有关于特定用户工作负载的数据,我们在此处提供的数字将作为您的设计估计。在做出最终规模和部署决策之前,我们强烈建议您使用自己的工作负载对不同的 Azure 实例类型运行概念验证测试,然后将这些数据用于最终设计。

了解详情

有关在Microsoft Azure 云服务上部署 Citrix Virtual Apps 工作负载的更多信息,请访问 Citrix 和Microsoft 合作伙伴网站 https://www.citrix.com/global-partners/microsoft/resources.html

设计决策:在 Azure 上交付 Citrix DaaS 的可扩展性和经济性