Session Recording

可扩展性注意事项

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

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

硬件建议

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

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

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

磁盘和存储硬件

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

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

注意:

基于基于文件的协议(例如 SMB 和 NFS)在 NAS 上存储数据可能会对性能和安全性产生影响。请使用最新版本的协议以避免安全隐患,并执行规模测试以确保正确的性能。

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

网络容量

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

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

计算机处理能力

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

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

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

部署多个 Session Recording Server

如果单个 Session Recording Server 不满足您的性能需求,则可以在不同的计算机上安装更多 Session Recording Server,以使 Session Recording Server 作为负载平衡池运行。在此类部署中,Session Recording Server 将共享存储和数据库。要分发负载,请将 Session Recording Agent 指向负责工作负载分发的负载平衡器。

数据库可扩展性

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

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

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

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

可扩展性注意事项