问题
某些网站使用 web 浏览器的时候,用户将无法浏览完全由于终端服务器。
原因
根本原因是因为一些网站可能短时间内释放它们之前触发端口利用率高。从一个网站正在进行端口分配之前 Windows 操作系统正式发布它,可能会导致过早的端口分配从终端服务器代理 (TSA)。因此,遇到连接错误。
注意:这个问题也可以与使用大量端口的应用程序一起体验, 并很快地发布它们.
Windows 规定定时等待状态的端口上。这是 Windows 中的可配置参数。值的范围是 30-300 秒 (十进制) 默认值为 240 秒。
(默认值) REG_SZ (未设置值)
TcpTimedWaitDelay REG_DWORD 0x0000001e (30)
相应的注册表设置:
- 系统密钥: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
- 值名称: TcpTimedWaitDelay
- 数据类型: REG_DWORD (DWORD 值)
解决办法
在 TSA 版本 5.0.1 来解决这一问题,介绍了设置。此时间等待状态 (TWS) 设置使 TS 代理能够选择跟踪 TcpTimedWaitDelay 的 Windows 系统上,从而防止 TS 代理选择仍处于定时等待状态的端口。启用此设置,如果系统达到分配端口块,一个新的端口块通常低阈值。默认情况下这一新行为是关闭,只可以通过编辑注册表修改。
此外,由于端口放置在 TWS,还有一种可能性,用户可能会产生大量的活动,结果在端口进入 TWS 状态和分配后不再需要的额外端口块。另一个用户可能生效的图片,会饿死,因为另一个用户可能囤积不需要但不是得到回收回活动 (打开关闭日志) 业主缺乏系统的端口块。因此我们介绍了一个计时器,轮询到不再需要的自由港块驱动程序。此计时器只运行 TWS 功能启用时。默认超时值为 240 秒和可以通过注册表修改。
时间等待状态 (TWS) 功能行为和配置
有是没有用户界面,以启用此功能。 必须编辑 Windows 注册表以禁用该功能。
警告:执行注册表修改时应格外小心. 有是没有错误检查注册表中的值。
启用/禁用 TWS
- 注册表项: HKEY_LOCAL_MACHINE\SOFTWARE\Palo 中音 Networks\TS Agent\Conf\EnableTws
- 默认值: 0 [0-禁用,1 启用]
- 重新启动终端服务器代理服务,以使更改生效
定期清理未使用的端口块:
- 注册表项: HKEY_LOCAL_MACHINE\SOFTWARE\Palo 中音 Networks\TS Agent\Conf\FreePortBlockDelay
- 默认值: 240 (秒),值为 0 将禁用此计时器
- 有是无需重新启动服务,因为此值的更改将自动生效
- FreePortBlockDelay不应过于激进, 因为这将导致大量的驱动程序清理活动. 建议此值场比赛系统的默认超时等待延迟 (TcpTimedWaitDelay) 的 240 秒。
解决办法
如果端口用尽已发生大量的时间等待连接,进行以下的注册表更改:
- 关键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay
- 关键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\StrictTimeWaitSeqCheck
- 关键: HKEY_LOCAL_MACHINE\SOFTWARE\Palo 中音 Networks\TS Agent\Conf\EnableTws
- 关键: HKEY_LOCAL_MACHINE\SOFTWARE\Palo 中音 Networks\TS Agent\Conf\FreePortBlockDelay
您可能需要手动添加第二个注册表值,如果它不存在。此值将告诉 Windows 内核,而不是荣耀 TcpTimedWaitDelay 设置,内核将释放这些端口严格在 30 秒。否则,Windows 内核可能会延迟释放端口时它忙着做其他的东西。
前两个值将直接 Windows 内核在 30 秒内免费 Time_Waited 端口 (默认内核值: 240 秒)。如果你短的这种价值在 TS 代理,你将需要短的值为 Windows 内核以及保持一致性。
注意:必须在 TS 代理值更改后重新启动终端服务器代理服务 (第三和第四值). Windows 操作系统需要重新启动,如果更改了内核 Tcpip 堆栈参数 (第一及第二个值)。
所有者: sberti