本主题讨论如何选择远程桌面会话主机(RD 会话主机)硬件、优化主机和优化应用程序。
本主题内容:
为性能选择适当的硬件
对于 RD 会话主机服务器部署,硬件的选择受应用程序集的约束,以及用户如何使用它们。 影响用户数量及其体验的关键因素是 CPU、内存、磁盘和图形。 本部分包含特定于 RD 会话主机服务器的其他准则,主要与 RD 会话主机服务器的多用户环境相关。
CPU 配置
CPU 配置的概念是通过将支持单个会话所需的 CPU 数量乘以系统预期支持的会话总数来确定,同时保留缓冲区以应对临时需求峰值。 多个逻辑处理器可以帮助减少异常的 CPU 拥塞情况,这通常是由类似数量的逻辑处理器包含的一些过度活跃线程引起的。
因此,系统上的逻辑处理器越多,必须在 CPU 使用率估算中内置的缓冲就越少,这会导致每个 CPU 的活动负载百分比更大。 要记住的一个重要因素是,CPU 数量的翻倍不会增加 CPU 容量。
内存配置
内存配置依赖于用户使用的应用程序;但是,可以使用以下公式估计所需的内存量:TotalMem = OSMem + SessionMem * NS
操作系统运行所需的内存量(例如系统二进制映像、数据结构等)称为 OSMem,一个会话中运行的进程所需的内存量称为 SessionMem,NS 是目标活动会话的数量。 会话所需的内存量主要取决于会话中运行的应用程序和系统进程的专用内存引用集。 共享代码或数据页几乎没有效果,因为系统上只有一个副本。
假设用于备份页面文件的磁盘系统不会更改,我们观察到一个有趣的现象是:系统计划支持的并发活动会话越多,那么每个会话所需的内存分配就必须越大。 如果每个会话分配的内存量未增加,则活动会话生成的页错误数随会话数增加。 这些故障最终使 I/O 子系统不知所措。 通过增加每个会话分配的内存量,导致页面错误的可能性会降低,这有助于降低页面错误的总体速率。
磁盘配置
存储是配置 RD 会话主机服务器时最常被忽视的方面之一,但它可能是现场部署的系统中最常见的限制。
在典型 RD 会话主机服务器上生成的磁盘活动会影响以下方面:
系统文件和应用程序二进制文件
页面文件
用户配置文件和用户数据
理想情况下,这些区域应由不同的存储设备进行备份。 使用带状 RAID 配置或其他类型的高性能存储可进一步提高性能。 强烈建议您使用具有电池支持写缓存的存储适配器。 具有磁盘写入缓存的控制器改进了对同步写入作的支持。 由于所有用户都有单独的配置单元,因此同步写入操作在 RD 会话主机服务器上更为常见。 注册表配置单元使用同步写入操作定期保存到磁盘。 若要启用这些优化,请在“磁盘管理控制台”中打开目标磁盘的“ 属性 ”对话框,然后在“ 策略 ”选项卡上,选择 “在磁盘上启用写入缓存 ”,并在设备复选框上 关闭 Windows 写缓存缓冲区刷新 。
网络配置
RD 会话主机服务器的网络使用情况包括两个主要类别:
RD 会话主机连接流量使用情况几乎完全由会话内运行的应用程序和重定向的设备 I/O 流量所显示的绘制模式确定。
例如,处理文本处理和数据输入的应用程序消耗带宽约为每秒 10 到 100 千比特,而丰富的图形和视频播放会导致带宽使用量显著增加。
后端连接,例如漫游配置文件、应用程序对文件共享的访问、数据库服务器、电子邮件服务器和 HTTP 服务器。
网络流量的量和特征因每个部署而异。
在远程桌面会话主机上运行的应用程序的调优
RD 会话主机服务器上的大多数 CPU 使用率都由应用驱动。 桌面应用通常针对响应能力进行优化,目的是最大程度地减少应用程序响应用户请求所需的时间。 但在服务器环境中,将完成作所需的 CPU 使用率总量降到最低,以避免对其他会话产生不利影响,这同样重要。
配置要用于 RD 会话主机服务器上的应用时,请考虑以下建议:
最小化后台空闲循环处理
典型示例包括禁用背景语法和拼写检查、搜索数据索引以及后台保存。
尽量减少应用执行状态检查或更新的频率。
禁用此类行为或增加轮询迭代和计时器触发之间的间隔大大有利于 CPU 使用率,因为此类活动的影响对于许多活动会话来说很快被放大。 典型示例包括连接状态图标和状态栏信息更新。
通过降低应用同步频率来最大程度地减少应用之间的资源争用。
此类资源的示例包括注册表项和配置文件。 应用程序组件和功能的示例包括状态指示器(如 shell 通知)、后台索引或更改监视,以及脱机同步。
禁用注册为随用户登录或会话启动而启动的不必要的进程。
在创建新用户会话(这一过程通常是 CPU 密集型的)时,这些过程可能会显著增加 CPU 使用的成本,尤其是在早晨的情况下可能会非常昂贵。 使用 MsConfig.exe 或 MsInfo32.exe 获取在用户登录时启动的进程列表。 要获取更详细的信息,可以使用 Autoruns for Windows。
对于内存消耗,应考虑以下事项:
验证应用加载的 DLL 未被重新定位。
可通过使用进程资源管理器,选择“进程 DLL”视图来验证重定位的 DLL,如下图所示。
在这里可以看到,y.dll 已重新定位,因为 x.dll 已占用其默认基址,并且未启用 ASLR
如果重新定位 DLL,则不可能在会话之间共享其代码,这大大增加了会话的占用空间。 这是 RD 会话主机服务器上最常见的与内存相关的性能问题之一。
对于公共语言运行时(CLR)应用程序,请使用本机映像生成器(Ngen.exe)来增加页面共享并减少 CPU 开销。
如果可能,请将类似的技术应用于其他类似的执行引擎。
远程桌面会话主机优化参数
页面文件
页文件大小不足可能会导致应用或系统组件中的内存分配失败。 可使用“内存-提交的字节数”性能计数器来监视系统上已提交的虚拟内存量。
防病毒
在 RD 会话主机服务器上安装防病毒软件会极大地影响系统的整体性能,尤其是 CPU 使用率。 强烈建议从活动监视列表中排除保存临时文件的所有文件夹,尤其是那些服务和其他系统组件生成的文件夹。
任务调度器
通过任务计划程序,可以检查针对不同事件计划的任务列表。 对于 RD 会话主机服务器,专门关注配置为在空闲、用户登录或会话连接和断开连接时运行的任务非常有用。 由于部署的具体情况,许多任务可能不需要执行。
桌面通知图标
桌面上的通知图标可以具有相当昂贵的刷新机制。 应通过从启动列表中删除注册这些通知的组件,或者更改应用和系统组件上的配置来禁用这些通知。 可以使用 “自定义通知图标 ”来检查服务器上可用的通知列表。
远程桌面协议数据压缩
可使用“计算机配置”“管理模板”>“Windows 组件”“远程桌面服务”>“远程桌面会话主机”“远程会话环境”>“配置 RemoteFX 数据的压缩”下的组策略来配置远程桌面协议压缩。>>> 可以有三个值:
优化为使用更少的内存 消耗每个会话的内存量最少,但压缩率最低,因此带宽消耗量最高。
平衡内存和网络带宽 减少带宽消耗,同时略微增加内存消耗(每个会话大约 200 KB)。
优化为使用较少的网络带宽 进一步降低网络带宽使用量,成本约为每个会话 2 MB。 如果要使用此设置,应在将服务器置于生产环境之前评估最大会话数,并使用此设置测试到该级别。
还可以选择不使用远程桌面协议压缩算法,因此我们仅建议将它与旨在优化网络流量的硬件设备配合使用。 即使选择不使用压缩算法,也会压缩某些图形数据。
设备重定向
可以在 计算机配置>管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>设备和资源重定向 下使用组策略来配置设备重定向,也可以使用服务器管理器中的 “会话集合 ”属性框来配置设备重定向。
通常,设备重定向会增加 RD 会话主机服务器连接所使用的网络带宽,因为数据在客户端计算机上的设备与在服务器会话中运行的进程之间交换。 增加的程度是由运行在服务器上的应用程序针对重定向设备执行的操作频率的函数。
打印机重定向和即插即用设备重定向也会增加登录时的 CPU 使用率。 可以通过两种方式重定向打印机:
基于打印机驱动程序的匹配重定向(适用于必须在服务器上安装打印机驱动程序的情况)。 早期版本的 Windows Server 使用此方法。
在 Windows Server 2008 中引入的 Easy Print 打印机驱动程序重定向功能使用一个通用的打印机驱动程序适用于所有打印机。
建议使用 Easy Print 方法,因为它会导致连接时打印机安装的 CPU 使用率降低。 匹配的驱动程序方法会导致 CPU 使用率增加,因为它需要后台处理程序服务加载不同的驱动程序。 对于带宽使用,简易打印会导致网络带宽使用量略有增加,但不足以抵消其他性能、可管理性和可靠性优势。
音频重定向会使网络流量稳定传输。 音频重定向还允许用户运行通常占用大量 CPU 的多媒体应用。
客户端体验设置
默认情况下,远程桌面连接(RDC)会根据服务器与客户端计算机之间的网络连接的适用性自动选择正确的体验设置。 建议将 RDC 配置保持为自动检测连接质量。
对于高级用户,RDC 提供对影响远程桌面服务连接网络带宽性能的一系列设置的控制。 可以使用远程桌面连接中的 “体验 ”选项卡或 RDP 文件中的设置来访问以下设置。
连接到任何计算机时,以下设置适用:
禁用壁纸 (禁用壁纸:i:0) 不会在重定向的连接上显示桌面壁纸。 如果桌面墙纸由图像或其他内容组成,则此设置可以显著减少带宽使用量,且绘制成本很高。
位图缓存 (Bitmapcachepersistenable:i:1) 启用此设置时,它会创建在会话中呈现的位图的客户端缓存。 它为带宽使用提供了显著改善,并且应始终启用它(除非还有其他安全注意事项)。
拖动时显示窗口的内容 (禁用全屏拖动:i:1) 禁用此设置时,它仅显示窗口框架而不是拖动窗口时的所有内容来减少带宽。
菜单和窗口动画 (禁用菜单 anims:i:1 和禁用光标设置:i:1):禁用这些设置时,它会通过在菜单(如淡出)和光标上禁用动画来减少带宽。
字体平滑 (允许字体平滑:i:0)用于控制 ClearType 字体渲染支持。 连接到运行 Windows 8 或 Windows Server 2012 及更高版本的计算机时,启用或禁用此设置不会对带宽使用产生重大影响。 但是,对于运行低于 Windows 7 和 Windows 2008 R2 的版本的计算机,启用此设置会显著影响网络带宽消耗。
以下设置仅适用于连接到运行 Windows 7 和早期作系统版本的计算机:
桌面组合 仅对运行 Windows 7 或 Windows Server 2008 R2 的计算机的远程会话支持此设置。
视觉样式 (禁用主题:i:1)禁用此设置时,它通过简化使用经典主题的主题绘图来减少带宽。
通过使用远程桌面连接中的 “体验 ”选项卡,可以选择连接速度以影响网络带宽性能。 下面列出了可用于配置连接速度的选项:
自动检测连接质量 (连接类型:i:7) 启用此设置时,远程桌面连接会自动选择将基于连接质量获得最佳用户体验的设置。 (连接到运行 Windows 8 或 Windows Server 2012 及更高版本的计算机时,建议使用此配置)。
调制解调器 (56 Kbps) ( 连接类型:i:1) 此设置启用永久性位图缓存。
低速宽带 (256 Kbps - 2 Mbps) (连接类型:i:2) 此设置支持持久位图缓存和视觉样式。
手机/卫星(2Mbps - 16 Mbps 且延迟较高) (连接类型:i:3) 此设置支持桌面合成、持久位图缓存、视觉样式和桌面背景。
高速宽带(2 Mbps – 10 Mbps) ( 连接类型:i:4) 此设置启用桌面合成,在拖动、菜单和窗口动画、持久位图缓存、视觉样式和桌面背景时显示窗口内容。
WAN(10 Mbps 或更高版本且延迟较高) (连接类型:i:5) 此设置启用桌面组合,在拖动、菜单和窗口动画、持久位图缓存、视觉样式和桌面背景时显示窗口内容。
LAN (10 Mbps 或更高版本) ( 连接类型:i:6) 此设置启用桌面组合,在拖动、菜单和窗口动画、持久位图缓存、主题和桌面背景时显示窗口内容。
桌面大小
可以使用远程桌面连接中的“显示”选项卡或使用 RDP 配置文件(desktopwidth:i:1152 和 desktopheight:i:864)来控制远程会话的桌面大小。 桌面大小越大,与该会话关联的内存和带宽消耗就越大。 当前最大桌面大小为 4096 x 2048。