Windows 2008 中的远程桌面性能问题

Windows 2008 中的远程桌面性能问题

我们正在 Windows Server 2008 上使用远程桌面将应用程序作为远程应用程序运行,并且我们遇到的情况是(在大约 40 人登录后)服务器可能会冻结几秒钟(例如 20 秒)。

看起来问题不是由处理器不足或内存不足引起的。应用程序占用大量磁盘空间,但我们已将驱动器从 Raided SATA 更​​改为更快的 SSD 磁盘,但情况没有任何改善。

该应用程序是在 64 位环境和 8GB RAM 中运行的 32 位应用程序。

该应用程序在 Windows Server 2000 中的 RDP 上运行良好(最多 100 个用户)(尽管由于服务器内存不足,它开始变慢)

查看各种监视器,发现在发生冻结时处理器和网络使用率会达到峰值,不过这似乎与服务器解冻后的恢复更密切相关。

我们认为这可能与用户登录时卸载/加载 Hive 有关,但这只是猜测。

我的问题是... - 我如何找出可能导致此错误的原因? - 其他人遇到过类似的问题吗 - 以及您是如何解决的?

谢谢。

答案1

根据我的经验,死机可能是由以下原因之一引起的:

  • 磁盘队列长度过长(即 I/O 数量超过硬盘的处理能力)
  • 驱动程序和固件故障
  • 网络流量非常大
  • 内存或处理器利用率较高

请注意,这是从最有可能到最不可能的列表。I/O 经常是瓶颈。您可以使用性能监视器来诊断此问题。

答案2

我看过这个并问了一个相关的问题(如何诊断服务器暂时冻结)。

请看一下下面的文章。http://support.microsoft.com/kb/934330,它可能会有帮助,但我还是不知道到底发生了什么。

答案3

过去,我曾在环境的边缘运行大型终端服务器,以控制使用我们系统的人员的访问。从我使用 Windows 2000 终端服务器时,我们就遇到了这个问题。我发现问题是,当人们登录和退出时,它会“冻结”所有相关人员的服务器。随着越来越多的人使用服务器,“冻结”会变得更糟。

我总是将开销归咎于 Novell 的客户端 32,并最终使用旧的零管理工具包从用户登录会话中剥离功能,直到它们运行得尽可能精简。

后来,我有一个使用 2003 的终端服务器,没有 Novell,也遇到了同样的问题。我发现漫游配置文件是问题所在。当它试图通过网络加载新用户配置文件时,就会发生“冻结”......现在,当我们从家庭驱动器同步离线文件时,就会发生这种情况。

您如何修复它?

  • 限制窗口的“漂亮”功能。
  • 在这些类型的服务器上使用更多的缓存。
  • 保持服务器碎片整理,尽管在 SSD 上并不总是建议这样做
  • 保持服务器补丁
  • 限制反病毒活动
  • 不允许用户将数据本地存储到服务器

答案4

您的客户端是否在运行 Vista?我在性能非常强大的 Windows Server 2003 和 2008 机器上也遇到过类似的问题,它们几乎没有负载(当时只有我一个人在使用它们)。

事实证明,Vista 的 TCP/IP 堆栈有一些接收窗口优化,实际上导致某些路由器对 RDP 等应用程序的性能不佳。

以下一些文章解释了这个问题:

总而言之,试试这个:

netsh interface tcp set global autotuninglevel=disabled

如果这不是您的问题,您可以使用以下命令撤消它:

netsh interface tcp set global autotuninglevel=normal

相关内容