从一周前开始,我的 IIS 出现问题,响应超时,无法打开所有网站。我必须重新启动 IIs。
很多时候,这种情况会在半夜发生,而且那时访客不多。我如何才能找到更多详细信息并找到解决方案?我检查了任务管理器中占用大量内存的 w3wp 进程。
谢谢。
服务器信息:Windows 2003 标准版 Asp.net 1.1 2 3 3.5 3.5 sp1 SQL Server 2005 2008 Express php 4 5 mysql 4 5
答案1
从您对原始问题的评论来看,似乎只有您的 ASP.NET 网站存在此问题。
首先,看看回收该应用程序池是否可以解决问题,而不是完全重启 IIS,因为那样会关闭用户 TCP 连接,而回收则不会。如果您需要将特定进程 ID 缩小到应用程序池,请iisapp
在命令行中使用 w3wp PID 获取应用程序池列表。
现在,如果您已将问题缩小到特定应用程序池,请创建更多该 ASP.NET 版本的应用程序池,并在这些应用程序池之间拆分网站,以便每个网站对应一个应用程序池。这样,您就可以精确地缩小问题所在。
如果您发现存在问题的网站,请将其保留在单独的应用程序池中,并尝试设置定期或特定时间的回收计划。由于此问题持续发生,因此这样做可能会解决您的问题。
答案2
白天和晚上观察 w3wp 是否增长。听起来可能是内存泄漏。还要观察发生之前的系统资源,看看磁盘 IO、内存、CPU 或其他资源是否存在问题。还要检查事件查看器,看看是否有错误记录。IIS 日志可能会从错误从 200 状态代码更改为其他内容时提供一些线索。
最后,看看是否有任何计划任务或备份在午夜开始。