当其他网站被使用时,IIS DefaultAppPool 会挂起

当其他网站被使用时,IIS DefaultAppPool 会挂起

我对 Windows Server 还很陌生,所以很抱歉问了一些愚蠢的问题。我有一台 Windows Server 2008 R2 Enterprise。AppPools 很少。问题是,默认应用程序池40 个用户在线后停止响应(取决于 loadimpact 测试)。

奇怪的是,当我在配置的网站上进行负载测试时测试池或者测试池(不同的域名、不同的网站和数据库默认应用程序池),默认应用程序池网站挂了,而测试池网站很好。

此负载测试对服务器的 CPU 或内存使用率没有影响。我尝试过监控HTTP 服务请求队列适用于 W3SVC 的 W3WP性能监视器中没有检测到任何变量,但没有发现任何异常迹象。还检查了连接限制- 这是默认值。

我该如何追踪这个问题?

答案1

在 IIS 中标记为应用程序的任何目录都可以在任何应用程序池中运行。虚拟目录和物理目录只在其父应用程序/站点/层次结构中位于其上方的任何目录中运行。

由于 DefaultAppPool 是一个包罗万象的应用程序池,我猜测在某个时候,其他某个网站的一部分被标记为应用程序,并且该应用程序被设置为在 DefaultAppPool 中运行。

因此,当 TestPool.com/ 在 TestPool 中运行时,TestPool/AppA 是否设置为在 DefaultAppPool 中运行?

虽然 GUI 为每个站点创建一个应用程序池并尝试保持一切井然有序,但脚本需要自己管理这类细节,这可能会导致这种看似违反直觉的情况。

否则,似乎可能有一个组件在其他站点运行时回调到 DefaultAppPool - 例如身份验证代理或另一个 Web 服务模块 - 因为应用程序池通常彼此隔离,并且只能通过共享依赖项相互影响。

您通常可以右键单击应用程序池并选择“查看应用程序”,以确定其他站点的一些小应用程序是否侵入了特定的应用程序池。

相关内容