可扩展性注意事项

除运行 XenApp 所需的资源外,安装和运行 Session Recording 几乎不需要其他资源。但是,如果您计划使用 Session Recording 录制大量会话,或者如果您计划录制的会话会导致出现大量会话文件(例如,图形密集型应用程序),请在规划 Session Recording 部署时注意系统的性能。

有关构建高度可扩展的 Session Recording 系统的详细信息,请参阅 Citrix 文章 CTX200869

硬件建议

考虑要向每台 Session Recording Server 发送的数据量,以及服务器可以处理和存储此数据的速率。系统可以存储传入数据的速率必须快于数据输入速率。

要估算数据输入速率,请将录制的会话数乘以每个录制的会话的平均大小,然后除以录制会话所需的时间。例如,在 8 小时工作日中,您可能录制了 5,000 个 Microsoft Outlook 会话,每个会话的大小为 20MB。在这种情况下,数据输入速率大约为 3.5 Mbps。(5,000 个会话乘以 20MB,除以 8 小时,再除以每小时 3,600 秒。)

通过优化单个 Session Recording Server 的性能或在不同计算机上安装多个 Session Recording Server,可以提升性能。

磁盘和存储硬件

磁盘和存储硬件是规划 Session Recording 部署时要考虑的最重要的因素。存储解决方案的写入性能尤为重要。数据写入磁盘的速度越快,系统的整体性能越高。

适合使用 Session Recording 的存储解决方案包括由本地磁盘控制器或连接的存储区域网络 (SAN) 作为 RAID 阵列控制的一组本地磁盘。

注意:由于存在与向网络驱动器写入录制数据有关的性能和安全问题,因此,请勿将 Session Recording 与网络连接存储 (NAS) 一起使用。

对于本地驱动器设置,具有内置缓存内存的磁盘控制器的性能会有所增强。缓存磁盘控制器必须具有电池备份装置,以在电源出现故障时确保数据完整性。

网络容量

100Mbps 的网络链接适合连接 Session Recording Server。千兆位以太网连接可能会提高性能,但不会将性能比 100Mbps 链接提高 10 倍。

确保 Session Recording 不与可能会争夺可用网络带宽的第三方应用程序共享网络交换机。理想情况下,网络交换机专用于 Session Recording Server。

计算机处理能力

对于安装了 Session Recording Server 的计算机,请考虑以下规格:

  • 建议使用双 CPU 或双核 CPU
  • 建议使用 4GB RAM

超过这些规格不会显著提高性能。

部署多台 Session Recording Server

如果单台 Session Recording Server 不满足性能要求,您可以在不同计算机上安装多台 Session Recording Server。在此类型的部署中,每台 Session Recording Server 都具有其自己的专用存储、网络交换机以及数据库。要分发负载,在部署中将 Session Recording Agent 指向不同的 Session Recording Server。

数据库可扩展性

Session Recording 数据库要求使用 Microsoft SQL Server 2016、Microsoft SQL Server 2014、Microsoft SQL Server 2012 或 Microsoft SQL Server 2008 R2。发送到该数据库的数据量非常少,因为该数据库仅存储与录制的会话有关的元数据。录制的会话本身的文件会写入到单独的磁盘中。通常情况下,每个录制的会话只需约 1KB 数据库空间,除非使用 Session Recording 事件 API 将可搜索事件插入到会话中。

Express Edition 版本的 Microsoft SQL Server 2016、Microsoft SQL Server 2014、Microsoft SQL Server 2012 和 Microsoft SQL Server 2008 R2 将数据库大小限制为 10GB。以每个录制会话大小为 1KB 计算,该数据库可编录大约 400 万个会话。Microsoft SQL Server 的其他版本没有数据库大小限制,仅由可用磁盘空间限制。数据库中会话数量逐渐增多,但数据库的性能以及搜索速度的降低几乎可以忽略不计。

如果没有通过 Session Recording 事件 API 进行自定义,每个录制的会话将生成四个数据库事务:录制启动时生成两个、用户登录到正在录制的会话时生成一个、录制结束时生成一个。如果使用 Session Recording 事件 API 对会话进行了自定义,录制的每个可搜索事件都会生成一个事务。由于即使是最基本的数据库部署在一秒钟内也可处理数百个交易,因此数据库上的处理负载不可能非常重。影响非常低,Session Recording 数据库可以与其他数据库(包括 XenApp 或 XenDesktop 数据存储数据库)在相同的 SQL Server 上运行。

如果 Session Recording 部署需要在数据库中编录数百万个录制的会话,请按照 Microsoft 对 SQL Server 可扩展性的指导原则进行操作。