从 IIS 6 升级到 8.5:并发请求增加

从 IIS 6 升级到 8.5:并发请求增加

我们将 Web 服务器从 Windows Server 2003 升级到了 Windows Server 2012 R2。有问题的 Web 应用程序基于 ASP.NET 4.0 运行。Web 应用程序又与第三方 Web API 进行通信。

升级后不久,Web API 延迟增加,进而导致明显的超时。我怀疑在 IIS 8.5 上,允许的并发请求数增加了,导致吞吐量增加,而 Web API 无法处理。但是:

  • IIS 6 不限制并发请求数。帮助文件内容如下:您可以配置 Internet 信息服务 (IIS) 以允许无限数量的并发连接,或限制它为此网站接受的连接数。我们目前已将其设置为无限制。
  • IIS 6 和 IIS 8.5 都使用 ASP.NET 4,它也具有限制并发请求数的功能。两个 IIS 版本都设置为自动配置机器配置文件;由于两台服务器具有相同的处理器和 RAM 配置,因此它们应该使用相同的设置。

当我们回滚升级时,延迟很快就下降了。这不太可能是巧合,所以在其他一切都保持不变的情况下,Windows 2012 R2 或 IIS 8.5 中一定存在一些内在因素影响了 Web API。第三方 Web API 开发人员确认他们的领域没有任何变化,不幸的是,我无法收集到任何其他信息。

我检查了 IIS 6 和 8.5 版本的日志:每秒、每分钟和每小时的平均(和中位数)请求数表明 IIS 8.5 上处理的请求更多(我使用 Log Parser Studio 分析日志)。但是,没有任何迹象表明情况应该如此。有人有什么见解或建议吗?如果有控制这一点的设置,那么现在我希望 Web 应用程序在 Windows Server 2003 和 2012 R2 上的行为相同。

答案1

您是否尝试过在 IIS 8.5 下以经典模式(IIS 6 架构)与集成模式运行应用程序池?也许新的集成管道模型的某些内容影响了转换。

您是否看到活动期间请求排队?

您是否已针对请求和连接调整了 IIS 设置?Machine.config 的 processModel 部分。

相关内容