我们有一个非常奇怪的问题。服务器场中的一台服务器变得非常慢。我们在日志中看到大量超时,并且总体响应时间不是应该在的位置(并且位于服务器场中的其他服务器上)。Web服务器变慢(ASP.NET)
还有一点奇怪的是,它不仅仅是web应用程序 - 只需登录到服务器需要1.5分钟才能显示桌面。一旦进入系统,系统就会像以前一样响应 - 除非您尝试启动某些内容(即记事本),否则需要一分钟才能启动,启动后它可以正常工作。
我检查了一些东西 - 内存利用率是合理的,CPU低于15%,窗口句柄,事件日志不显示任何东西。
回收aps.net进程无法修复它 - 它仍然需要一分钟才能登录。重启服务器有帮助,但现在它又开始减速。
经过仔细观察,我们发现Windows Temp目录中充满了临时文件 - 超过65k个文件。这当然是需要照顾的。但我的问题是,它可能是缓慢的根源,还是还有其他潜伏在阴影中的东西?
编辑
更多的挖掘后,我就有关临时目录的大小问题归零英寸这article:描述了非常相似的东西。我仍然不太确定,因为服务器甚至打开甚至记事本的速度都很慢,这一事实仍不清楚。
在这样的条件下创建一个新的临时文件是否有可能花费一分钟?
为什么'Temp'文件夹已满?它包含什么样的文件?这些文件与您的应用程序有关吗? – 2009-11-10 18:00:01
@Darin出于多种原因,但主要是因为MS CryptQueryObject中存在已知的错误(请参阅http://support.microsoft.com/?id=931908。)。我们在研究这个问题的时候挖掘了这篇文章,但是现在我试图弄清楚这是否是真正的根本原因 – mfeingold 2009-11-10 18:07:02
您提供的KB表示,当临时文件数量达到时,对CryptQueryObject的调用花费的时间比预期的要长约65,000。你在调用这个函数吗? – 2009-11-10 18:11:10