以下是我发布的一个问题堆栈溢出. 根据马丁·克拉克 (Martin Clarke) 的建议,我也将其发布在这里。
我们遇到了一个非常奇怪的问题。服务器群中的一台服务器变得非常慢。我们在日志中看到多次超时,并且总体响应时间没有达到应有的水平(群中的其他服务器也是如此)。
同样奇怪的是,这不仅仅是 Web 应用程序的问题 - 仅登录服务器就需要 1.5 分钟才能显示桌面。一旦您登录,系统就会像往常一样响应 - 除非您尝试启动某些东西,例如记事本 - 启动后需要一分钟,启动后它就可以正常工作。
我检查了一些事情 - 内存利用率合理,CPU 低于 15%,Windows 句柄、事件日志没有显示任何内容。
回收 aps.net 进程并不能解决问题 - 登录仍然需要一分钟以上的时间。重新启动服务器有所帮助,但现在它又开始变慢了。
仔细查看后,我们发现 Windows Temp 目录中充满了临时文件 - 超过 65k 个文件。这当然是需要注意的事情。但我的问题是,这可能是导致缓慢的根本原因,还是还有其他隐藏在暗处的东西?
编辑
经过进一步的挖掘,我把注意力集中在与临时目录大小相关的问题上。这篇文章:(请参阅原始帖子,这个东西不允许我添加第二个链接)描述了一些非常相似的事情。它仍然没有回答为什么即使没有活动,服务器仍然很慢的问题。
答案1
好吧,这是官方消息,这一切都是因为这个问题。当我们的一台服务器再次出现故障时,我们清理了临时目录,问题就解决了,包括登录速度慢。
最后一部分仍然让我感到困惑——我不明白临时目录中过多的文件数量怎么会导致登录需要超过 1 分钟,更不用说启动程序了,但无论是什么,清除目录都可以解决这个问题,我可以忍受。
答案2
我猜是磁盘访问的问题。登录缓慢和应用程序启动缓慢都表明了这一点。使用性能监视器(使用磁盘计数器)和进程监视器追踪哪个进程导致此磁盘访问。
答案3
您是在本地登录还是通过远程桌面登录?如果是从远程桌面登录,则可能是网络设置。我在 Chimney TCP 设置中见过几次这种情况。例如,Broadcom 的 NIC 在该设置下存在问题。尝试将其关闭,看看是否能解决您的问题:http://support.microsoft.com/kb/951037
答案4
这些服务器的硬件和软件是否都相同?它们是否具有相同的服务集(在自动模式下)
当您的服务器运行缓慢时,请尝试禁用 IIS 服务并清空 /temp 文件夹。
我确信这 3 台服务器是负载平衡的,并且另外 2 台将启动以分担负载。