设计决策:在 AMD Compute 上在 Azure 中交付 Citrix DaaS 的经济性

概述

本文由 Microsoft、Citrix 和 AMD 共同撰写,旨在帮助消费者在 Azure 中选择实例类型来托管 Citrix 工作负载,做出更好的决策。本文档的目标包括确定托管 Citrix DaaS 工作负载的最有效实例类型,并为客户在 Azure 中选择带或不带 GPU 的 AMD 计算实例时提供指导。

Azure 平台

Azure 是 Microsoft 的云环境,在该环境中,计算机、磁盘驱动器和网络等物理资产被虚拟化,并可在线使用或通过直接连接到全球 Microsoft 数据中心使用。每个数据中心位置都位于一个区域。整个非洲大陆都有区域可供政府访问。每个区域都是区域内相互隔离的区域的集合。这种资源分配具有多种好处,包括在出现故障时提供冗余,以及通过将资源放置在离客户端更近的地方来减少延迟。

通过在 Microsoft Azure 上配置 Citrix 桌面和应用程序工作负载,企业可以避免内部基础架构的开支,而是依靠 Azure 为用户工作负载提供必要的计算、网络和存储资源。

Citrix Desktop as a Service (DaaS)

Citrix Desktop as a Service (DaaS) 可确保向任何设备交付 Windows、Linux、Web 和 SaaS 应用程序和桌面,为当今的现代数字工作区提供支持。Citrix DaaS 提供高级管理和可扩展性、任何网络上的丰富多媒体体验,以及自助服务应用程序,在包括台式机、笔记本电脑、瘦客户端、平板电脑和智能手机在内的各种端点上提供通用设备支持。

借助应用程序和桌面虚拟化技术,客户可以轻松地集中管理资源,并应用本地和托管交付模式的最佳组合来满足用户需求。可以在 Microsoft Azure 上为单会话和多会话场景配置托管资源。

作为混合云解决方案,Citrix DaaS 允许组织选择最符合其企业云战略的工作负载部署选项。部署在 Microsoft Azure 平台上时,Citrix DaaS 让 IT 部门能够灵活地为 Windows 和 Linux 应用程序和桌面提供基础架构服务,具有公有云的弹性规模。同时,组织还可以集成一个或多个本地环境,以实现最佳灵活性。

Citrix DaaS 托管在 Citrix Cloud 中,Citrix Cloud 是 Microsoft Azure 中运行的服务的控制平面。该系列测试中使用它来控制和管理工作负载。此处的数字侧重于在 Windows Server 2019 和 Windows 10 多会话上运行 Citrix 多会话操作系统 Virtual Delivery Agent (VDA) 的单个虚拟机实例的可扩展性和性能。要了解有关 Citrix DaaS 的更多信息,请访问此处

Advanced Micro Devices (AMD)

AMD 是高性能计算领域的领导者,其提供的技术可以加速从通用计算到云原生计算的各种数据中心工作负载。
本文档中测试的所有实例均在 Microsoft Azure 中运行 AMD 处理器和显卡。

AMD EPYC™ 处理器为最节能的 x86 服务器提供动力,提供卓越的性能和密度,从而降低服务器的能源成本。AMD EPYC™ CPU 有助于最大限度地减少数据中心运营对环境的影响,同时推进公司的可持续发展目标。AMD EPYC™ 还为每个处理器系列提供了一体化功能集,因此,无论选择多少内核,您都有足够的I/O、内存和内存带宽来实现目标。

本研究中的 Das_v5 实例在多线程配置中使用第三代 AMD EPYC™ 7763v 处理器,具有高达 256 MB 的 L3 缓存。这些虚拟机提供 vCPU 和内存的组合,可满足与 Citrix DaaS 工作负载相关的要求。

本研究中的 NVv4 系列实例使用 AMD 的 Radeon™ Instinct™ MI25 GPU,并针对 VDI 和远程可视化进行了优化。MI25 GPU 支持单根 I/O 虚拟化 (SR-IOV) 直通,可通过分时多路复用安全地与最多 8 个虚拟机客户端共享 GPU。与多个虚拟机共享 GPU 时,每位客户端在几毫秒内都能充分使用 GPU,每秒可多次使用 GPU。NVv4 可为需要大大小小 GPU 分配的工作负载提供合适的大小。

NVv4 系列实例有 4 种不同的大小:

大小 vCPU GPU GPU 内存 (GB) 内存(GB)
NV4as_v4 4 1/8 2 14
NV8as_v4 8 1/4 4 28
NV16as_v4 16 1/2 8 56
NV32as_v4 32 1 16 112

来源:https://learn.microsoft.com/en-us/azure/virtual-machines/nvv4-series

测试方法

在测试运行期间,使用 Login Enterprise 模拟了负载,以便在单个主机上的用户会话中生成人为工作负载。然后,使用测试运行数据来分析不同 AMD Microsoft Azure 实例的可扩展性。

Login Enterprise

Login VSI 可帮助组织主动管理其虚拟桌面和应用程序的性能、成本和容量。Login Enterprise 平台是 100% 无代理的,可用于所有主要 VDI 和 DaaS 环境,包括 Citrix 和 Microsoft。借助 Login VSI,IT 团队可以以更低的成本、更少的中断和更低的风险规划和维护成功的数字化工作场所。

Login Enterprise 设备提供两个分数,可帮助确定该实例的推荐用户数量:

最终用户体验分数 (EUX):EUX Score 使用会话期间收集的指标和性能计数器量化虚拟会话中的用户体验。EUX 分数从 1.0(最差体验)到 10.0(最佳体验)不等。一般而言,分数低于 5.5 表示用户体验不可接受。

最大推荐用户数 (VSImax):VSImax 评分过程涉及使用单个会话指标来确定可以在主机上同时运行给定工作负载的用户数量。Login Enterprise 中使用的 VSImax 值无法与之前版本的 Login VSI Classic 的 VSImax 分数相提并论。

随着 Login VSI 努力提供更准确的结果,生成 EUX 和 VSImax 值的算法可能会在版本之间发生变化。为了在本研究中保持一致的比较结果,所有测试均使用相同的版本完成。当测试运行完成且没有失败时,测试配置即被视为成功,并且至少连续收到三次相同的 VSImax 值。

工作负载

使用了两种不同的工作负载来评估实例类型的可扩展性。第一个工作负载使用 Login Enterprise 的知识工作者工作负载以 1080p 分辨率 (1920x1080) 运行,模拟了强大的 Microsoft Office 用户。知识工作者是评估可扩展性的最常用工作负载。此工作负载包括以下循环运行的应用程序:

Microsoft Word Microsoft PowerPoint Microsoft Outlook Microsoft Excel Microsoft Edge,观看 1080p 视频

Office 应用程序为测试启用了硬件加速,以便利用 GPU。

第二个工作负载是自定义创建的特定于 GPU 的工作负载,以 4K 分辨率 (3840x2160) 运行,旨在在会话中生成 GPU 周期。此自定义工作负载旨在确定会话中 GPU 共享的有效性。工作负载仅包含以下两个应用程序:

Citrix 的默认值是 Microsoft Edge,以每秒 10 帧 (fps) 的速度观看 4K 视频。 Microsoft 3D Viewer,按顺序渲染四张不同的 3D 图像,改变速度和灯光效果。

由于 NV_v4 实例支持 GPU 硬件编码但不支持 GPU 硬件编码,我们可以预计,与主机支持硬件 GPU 解码相比,测试的 4K 视频部分会消耗更多的 CPU 周期和更长的时间。Citrix 策略用于禁用媒体重定向,因此不使用 GPU 进行解码。通过启用重定向功能以避免在主机端进行 CPU 解码,可以提高性能。

在用户会话期间,短评分应用程序会多次运行一组指令并记录运行每个步骤所花费的时间。这些指标可以为测试运行生成 EUX 分数和 VSImax 值。

然后,这些分数与其他绩效指标一起用作输入,以生成测试的平均EUX分数。下图提供了在 D8as_V5 实例类型上运行的 22 个用户的 EUX 分数示例。在这次跑步中,EUX的平均分数为7.4,VSImax 的平均分数超过22分。

EUX 分数

EUX 的理论最高分数为 10。但是,与其自身相比,在不同的虚拟机配置或用户负载中使用相同的工作负载时,分数最有用。例如,下图显示了相同数量的测试用户,22人,但EUX分数较低,为7.3,VSImax 值为15。一个有趣的观察结果是,在登录风暴期间,EUX分数下降了,但在登录完成后很快就回来了。

EUX 分数

测试环境

对于可扩展性测试,基础架构虚拟机配置如下:

  • One Login Enterprise 虚拟设备运行版本 4.11.2。
  • 四个 Login Enterprise 启动器
  • 一个 Citrix Cloud Connector
  • 一个 Active Directory 域控制器,既用作配置文件又充当 DNS 服务器
  • 在单个 Windows Server 2019 数据中心实例或单个 Windows 10 多会话实例上运行的 Citrix 虚拟应用程序工作负载,其中包含以下内容:
    • Citrix Server 多会话操作系统 VDA 2203.0.2000.2076 (CU2) 运行在功能级别 2106(或更高版本)。
    • Microsoft Office M365 Business
    • Microsoft Defender 使用默认设置
    • 测试时可获得最新的 Windows 更新
  • 除非另有说明,否则使用了开箱即用的设置
  • Citrix Cloud DaaS 服务提供并管理了Delivery Controller、SQL Server、Workspace 服务(相当于 StoreFront)、许可证服务器和 Studio 管理控制台。Azure 租户中单独安装了 Active Directory 域控制器和Cloud Connector。

下图描述了测试架构。

实验室架构

注意:

此架构设计仅用于测试目的,并不能反映带有冗余组件的生产环境的外观。管理员可以参阅 Citrix Tech Zone 上的最佳实践和架构文档。

可扩展性测试结果

在这项研究中,我们重点研究了 4 到 32 个 vCPU 之间的 AMD 实例类型。这一决定的主要驱动因素是成本和效率。在会话主机虚拟机大小调整指南中,Microsoft 建议将虚拟机大小限制在 4 个 vCPU 和 24 个 vCPU 之间,原因如下:

“对于多会话来说,在双核虚拟机上拥有多个用户会导致用户界面和应用程序变得不稳定,从而降低用户体验质量。稳定的多会话虚拟机至少使用四个内核。”

“32 个内核是虚拟机的最大数量:随着内核数量的增加,系统的同步开销也会增加。对于大多数工作负载(大约 16 个内核),投资回报率会降低,大部分额外容量被同步开销所抵消。与一个 32 核虚拟机相比,来自两个 16 核虚拟机的用户可能更多”

对于 DaaS 工作负载,向上扩展的效率低于横向扩展,因此这些指导方针非常有意义,使我们能够将测试重点放在配置最适合客户的领域。

使用两种不同的操作系统测试了六种不同的 AMD 实例类型。由于不同实例类型的工作负载相同,因此可从结果中得出可扩展性。 下表显示了在每种实例类型上运行的工作负载。

  Windows Server 2019 Windows 10 多会话
D4as_v5 知识 知识
D8as_v5 知识 知识
D16as_v5 知识 知识
NV8as_v4 知识 知识,GPU
NV16as_v4 知识 知识,GPU
NV32as_v4 知识 知识,GPU

预期用户

在确定 AMD 实例类型的成本效率之前,我们需要确定有多少用户在具有理想用户体验的实例类型上成功运行。幸运的是,VSImax 的分数大大接近我们在特定配置下可以轻松获得多少用户。

知识工作者工作负载

我们从知识工作者工作负载开始,该工作负载为 Citrix DaaS 提供了最广泛的用例。下图显示了所有经过测试的实例类型的 Windows 10 多会话和 Server 2019 工作负载的最终分数。

VSI Max

从这些数据中,可以得出以下结论:

扩展处理器并不能使用户数量呈线性增长。根据先前关于同步开销效率降低的信息,这一发现是预料之中的。

Windows 10 多会话在资源方面的效率不如 Server 2019。这一发现是可以预料的,因为Server 2019针对托管多个用户进行了更好的优化。 使用启用 GPU 的 NV 系列实例不会增加用户数量。这一发现也是预料之中的,因为 CPU 增加了开销 GPU。

按照这种思路,该图表清楚地显示,随着实例类型中 vCPU 数量的增加,每个 vCPU 的用户数量也会减少。因此,AMD 处理器的结论是,向外扩展比向上扩展要好,因为在较小的计算机上获得的用户比在大型计算机上使用等效数量的 vCPU 的用户要多。

每个 vCPU 的用户数

GPU 密集型工作

切换到 GPU 密集型工作负载,我们看到每种实例类型的 VSImax 用户的类似趋势。GPU 密集型工作负载仅在 NV 系列实例上运行。结果如下图所示。

我们可以从这些数据中得出两个与知识工人工作负载相同的结论。

扩展处理器并不能使用户数量呈线性增长。这一发现是预料之中的,因为同步开销效率较低,而且 NV_v4 系列依赖 CPU 周期来使用 GPU。造成这种影响的部分原因是 4K 视频,它消耗了 CPU 周期,由于没有使用重定向,这些周期可能无法卸载到 GPU。 Windows 10 多会话在资源方面的效率不如 Server 2019。由于Server 2019针对托管多个用户进行了更好的优化,因此再次出现了这一发现。

但是,下图进一步深入研究每个 vCPU 的用户数,显示我们在 Windows 10 上的线性趋势与在 Server 2019 上的线性趋势不同。就 Windows 10 多会话而言,16-vCPU 实例的效率最高。

VSI Max

预期成本

现在,我们可以使用预期用户数除以每小时的实例成本来得出每用户小时的成本指标。并非所有地区都提供这些实例类型,而且定价确实因地区而异。使用的价格反映了 2023 年 8 月 Azure West US 2 区域的成本。为简单起见,仅使用了完全许可的即用即付费率和混合福利率进行比较。如果您使用 Microsoft 储蓄计划或预留实例定价,则实际成本会更低。

下图按操作系统和许可模式显示了我们在知识工作者工作负载下测试的每种 AMD 实例类型的每用户小时成本。

平均成本

由于 Azure 的计算定价是一致的,因此成本如预期的那样遵循我们的性能图。我们最高效的实例类型是具有最佳可扩展性的实例类型,即 D4as_v5,在混合许可模式下,价格低至每小时 1.4 美分,在 Windows Server 2019 的完整许可模式下每小时 3 美分。GPU 密集型工作负载也会出现类似的成本,其中 NV8as_v4 的每用户小时成本最低,Hybrid 为每小时 7.8 美分,在 Server 2019 上获得完整许可时为每小时 13.9 美分,如下图所示。

平均成本

最终用户体验

我们的研究并没有就此结束。我们仍然需要涵盖用户体验的各个方面。最后一步是查看最终用户体验分数,以确定成本和用户体验方面效率最高的实例。下图显示了与获得我们为知识工作者工作负载发布的最终 VSImax 分数的运行相关的平均 EUX 分数。

EUX 分数

从数据中可以明显看出,最高效的实例类型提供的分数是我们追踪的最低分数。请记住,我们之前说过,低于5.5的分数会带来负面的用户体验,因此在D4as_v5上获得6.8倍的分数仍然是可观的。但是,从下一栏来看,我们看到EUX的平均分数大幅上升。每小时额外支付 0.2 美分,我们就能为最终用户提供更好的体验。看看下面的 GPU 密集型工作负载图,我们也有类似的情况。

EUX 分数

在这种情况下,NV32as_v4 实例类型的总体得分略高于 NV16as_v4 实例,因此,尽管 NV16as_v4 是最高效的性能,但它可能无法提供最佳的最终用户体验。NV16as_v4 上的 EUX 分数较低是由于每个内核的用户密度高于 NV8as_v4 或 NV32as_v4 实例类型。令人惊讶的是,使用 NV32as_V4,Windows 10 多会话在 GPU 密集型工作负载方面的得分最高。这可能是由于未使用重定向,NV32as_v4 在测试的 4K 视频播放部分具有更多可用 CPU 周期的结果。

主要调查结果和建议

在查看了测试运行数据并分析了结果之后,以下是我们选择由 AMD 提供支持的 Azure 实例的主要发现和建议:

我们的测试结果显示,Windows 10 多会话实例容纳的用户比 Windows Server 操作系统(Server 2019 或 2022)少 30%。不同操作系统类型的最终用户体验 (EUX) 分数保持相对一致。 虽然知识工作者最具成本效益的实例类型是 D4as_v5,但建议使用 D8as_v5 实例类型,利用更好的用户体验,每小时多花一分钱。

单个 GPU 可以在多个会话之间有效共享。但是,确定要使用哪种实例类型主要取决于 GPU 的工作负载类型。

结论

与往常一样,我们建议您对特定于业务的工作负载进行自己的性能测试。假设您对工作负载或最终会得到哪些实例类型的了解有限。在这种情况下,您可以使用我们提供的信息进行适当的估算。通常,较低的 vCPU 实例类型可以更好地平衡成本和性能。

设计决策:在 AMD Compute 上在 Azure 中交付 Citrix DaaS 的经济性