我有一台服务器,它有多个应用程序池(基本上每个 CPU 核心一个)。每个应用程序池:1)有多个站点,2)运行 .NET Framework v4.0.30319,3)以托管管道模式运行:“集成”。
每个应用程序池中的所有站点都指向完全相同的代码库(MVC.NET 3 站点)并具有 2 个虚拟目录(一个 vd 对于所有站点都是相同的,一个 vd 对于每个站点都是唯一的)。
除了一个网站外,其他所有网站都运行良好。它一直挂起。问题的唯一主要症状是其工作进程的请求队列似乎失控了。对所有其他网站(以及同一应用程序池中的所有其他网站)的请求都处理得很好。长时间运行的请求仅针对挂起的网站。我按如下方式访问了请求队列:
[服务器节点] > “工作进程” > [双击挂起站点所在的工作进程]
...当我回收工作进程时,这些请求消失了,网站运行了一段时间。过了一会儿(30 分钟 - 1 小时),请求又开始挂起(时间流逝继续无限增加)。
什么原因导致了这个问题? 我努力了:
- 将网站从一个应用程序池切换到另一个应用程序池
- 将网站从一个 Web 服务器切换到另一个 Web 服务器(在不同的 IP 上)
- 从头开始彻底重建网站
有任何想法吗?
服务器配置
- 操作系统:Windows Server 2008 R2 标准版 SP1
- IIS:7.5.7600.16385
- CPU:2 个 Intel Xeon E5430 2.66GHz
- 内存:32GB