我们使用Windows Server 2008上的远程桌面运行一个应用程序作为远程应用程序,我们得到的情况是(在我们有大约40个人login后)服务器可以冻结几秒钟(例如20秒)。
看起来问题不是由于缺less处理器或内存不足造成的。 该应用程序是相当重的磁盘,但我们已经从Raided SATA驱动器更改为更快的SSD磁盘,并没有得到改善。
该应用程序是一个32位应用程序运行在64位环境和8GB的RAM。
应用程序在Windows Server 2000中的RDP上运行良好(最多100个用户)(尽pipe由于服务器耗尽内存而开始减速)
查看各种监视器,冻结时处理器和networking使用率达到峰值,虽然这似乎与服务器在解冻后捕捉到更多的关联。
我们认为这可能与用户login时卸载/加载configuration单元有关,但这是一个猜测。
我的问题是… – 如何找出可能导致此错误的原因? – 其他任何人遇到这样的问题 – 你是如何解决这个问题的?
谢谢。
根据我的经验,冻结是由以下任何一种情况造成的:
请注意,这是一个最可能最不可能的列表。 I / O经常是一个瓶颈。 您可以使用性能监视器进行诊断。
我已经看到了这个,并问了一个相关的问题( 如何诊断服务器暂时冻结 )。
看看下面的文章。 http://support.microsoft.com/kb/934330 ,它可能会帮助,但我仍然不知道到底是怎么回事。
在过去,我在我的环境边缘运行大型terminal服务器来控制使用我们系统的人员的访问。 我从使用Windows 2000terminal服务器的时候就遇到了这个问题。 我发现的问题是,当人们login和注销时,会“冻结”所有涉及的服务器。 随着越来越多的人使用服务器,“冻结”会变得更糟。
我经常谴责Novell客户端32的开销,并最终使用旧的零pipe理工具来剥离用户login会话中的function,直到他们尽可能精简地运行。
我后来有一个terminal服务器使用2003年,没有Novell,并有相同的问题。 我发现漫游configuration文件是问题。 “冻结”会发生,因为它试图通过networking加载新的用户configuration文件..现在,当我们从家庭驱动器同步脱机文件时,会发生。
你如何解决它?
检查一下,看看你是否有东西在运行,一次做很多的磁盘访问。 上个星期,MySQL 5.0完全没有明显的原因就把一个2008terminal服务器搞砸了,把MSSQL放在那里就行了。
(我不是M $巨魔,我没有亲自做这个,我的sup did。I I I I </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> )
你的客户在Vista上运行吗? 我有一个类似的问题,非常有能力的Windows Server 2003和2008几乎没有任何负载(我当时是唯一使用它们的)。
事实certificate,Vista的TCP / IP堆栈有一些接收窗口优化,实际上导致RDP等应用程序的某些路由器性能不佳。
这里有一些文章解释这个问题:
总结一下,试试这个:
netsh interface tcp set global autotuninglevel=disabled
如果这不是你的问题,你可以使用这个撤消它:
netsh interface tcp set global autotuninglevel=normal