您可以在终端服务器中塞入多少个会话?

tsi*_*ilb 0 terminal-server scalability

我有一个客户计划将应用程序部署到一台服务器,并且有 100 个左右的用户远程桌面到该服务器。目前计划使用 4GB RAM。

显然,这个想法有问题需要解释,但客户似乎愿意根据需要扩展硬件(和他的许可证),并让每个人都离线在晚上进行新的部署。我的建议是一个网站而不是一个 winform。客户说也许稍后。

从理论上讲,考虑到标准的 Windows Server 硬件——假设他可以扩展到 4 个 32GB 的四核 HT Xeon——而且考虑到软件本身不会成为问题——

  • 任何一台 Windows 服务器可以管理的绝对最大用户数是多少?
  • 我应该告诉他有多少并发用户他手头上有一个可扩展性的噩梦?

Chr*_*rpe 7

要为此准确规划容量,您需要调查应用程序的特性以及它将在终端上放置的负载。

首先,如果这是一个关键的业务线应用程序,如果几个小时不可用就会损失业务资金,那么您需要查看 2 个以上并行运行的终端服务器。跨多个终端服务器的用户基本负载平衡实际上非常简单,您只需执行循环 DNS。这样做的好处是,如果一个 TS 因任何原因宕机,迫切需要访问的用户可以继续访问系统。我的建议是查看 2 或 3 台服务器,并确保环境中有足够的容量来承受其中一台服务器的丢失。

至于容量/负载,请检查用户会话在运行应用程序时在 TS 上占用的内存量。将其乘以您希望容纳的用户数量,为系统自用增加一个 Gb,然后再增加 20% 以增加舒适度。这就是您需要多少 RAM 作为起点,以支持在您的 TS 上运行该应用程序的用户数量。您必须根据连接到实际示例 TS 会话的实际用户进行计算,因为除了应用程序本身之外,每个用户都会为其他用户进程占用额外的 RAM。这些额外的小过程加起来。

接下来,检查您的处理负载和应用程序的特性。用户是否告诉应用程序运行报告,这可以在短时间内将 CPU 固定在 100%?如果是这样,大问题。将其扩展到 60 个用户(即使在 16 核机器上)意味着您将有几个人试图运行报告而每个人都在受苦的高峰时间。

还要考虑系统用户所需的任何额外应用程序。用户希望从业务应用程序输出到 Excel 等办公应用程序是很常见的。他们是否能够通过共享驱动器进行随机播放来实现这一点,或者是否需要在终端服务器上运行办公室。如果是这样,您需要注意 a) office 在终端环境中的许可完全不同,并且不会安装常规版本。b) 几个 Excel 会话很快就会耗尽您所有的 RAM。

tl;dr 跨多台服务器横向扩展,而不是在单个机器内向上扩展