Web服务器变慢(ASP.NET)

下面是我发布在stackoverflow上的一个问题。 正如马丁·克拉克(Martin Clarke)所build议的,我也在这里发布。

我们有一个非常奇怪的问题。 服务器场中的一台服务器变得非常慢。 我们在日志中看到一些超时,并且总体响应时间不在应该在的位置(并且在服务器场中的其他服务器上)。

奇怪的是,它不只是networking应用程序 – 只需login到服务器需要1.5分钟,向您展示桌面。 一旦进入,系统就像以往一样响应 – 除非你尝试启动一些东西,例如记事本 – 启动需要一分钟,启动后它可以正常工作。

我检查了一些东西 – 内存利用率是合理的,CPU低于15%,窗口句柄,事件日志不显示任何东西。

回收aps.net进程并不能解决问题 – login还需要一分钟时间。重新启动服务器有帮助,但是现在又开始减慢了速度。

经过仔细观察,我们发现Windows Temp目录中充满了临时文件 – 超过65k的文件。 这当然是需要照顾的。 但是我的问题是,这可能是缓慢的根源,还是还有其他的东西潜伏在阴影里?

编辑

经过更多的挖掘,我正在调整有关临时目录大小的问题。 这篇文章:(看到原来的post这个东西不会让我包括第二个链接)描述了非常相似的东西。 它仍然没有回答为什么即使没有活动,服务器仍然很慢的问题。

好的,这是正式的,这一切都是由这个问题引起的悲伤。 当我们的某个服务器再次performance不佳时,我们清理了临时目录,并解决了问题,包括缓慢的login。

最后一部分仍然让我感到困惑 – 我不明白在一个临时目录中有多less文件可以导致login超过1分钟,而是单独启动一个程序,但无论它是否清除目录,修复它,我可以忍受。

我的猜测是磁盘访问是问题。 慢login和缓慢的应用程序开始build议。 检查性能监视器(使用磁盘计数器)和进程监视器来跟踪哪个进程导致此磁盘访问。

您是本地login还是通过远程桌面login? 如果来自远程桌面,则可能是networking设置。 烟囱TCP设置我已经看过几次了。 例如,Broadcom的NIC在该设置上存在问题。 尝试closures,看看它是否解决您的问题: http : //support.microsoft.com/kb/951037

你提到临时文件。 您是否validation过在web.config中未启用debugging? 这是一个不寻常的性能杀手。 启用debugging时,会在临时文件夹中创build大量的额外文件。

http://blogs.msdn.com/tess/archive/2006/04/13/asp-net-memory-if-your-application-is-in-production-then-why-is-debug-true.aspx

http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx

所有这些服务器在硬件和软件上都是一样的。 他们是否有相同的服务(在自动模式下)

尝试禁用IIS服务和清空/临时文件夹 – 当您的服务器运行缓慢。

我确定这3台服务器是负载均衡的,其他2台将分享负载。