我们将Web服务器从Windows Server 2003升级到Windows Server 2012 R2。 有问题的Web应用程序针对ASP.NET 4.0运行。 Web应用程序又与第三方Web API进行通信。
升级后不久,Web API延迟增加,这反过来导致了显着的超时。 我怀疑,在IIS 8.5上,允许的并发请求数量增加,导致Web API无法处理的吞吐量增加。 然而:
当我们回滚升级时,不久之后的延迟就下降了。 不太可能是一个巧合,所以在其他一切保持不变的情况下,Windows 2012 R2或IIS 8.5必然会影响到Web API。 第三方Web API开发人员证实,他们的空间没有任何改变,不幸的是没有任何额外的信息可以收集。
我检查了IIS版本6和8.5的日志:每秒,每分钟和每小时的平均(和中值)请求表明有更多的请求在IIS 8.5上处理(我使用Log Parser Studio来分析日志)。 但是,没有任何迹象表明应该如此。 有没有人有任何见解或build议? 如果有设置控制这个,那么现在我希望Web应用程序在Windows Server 2003和2012 R2上的行为相同。
您是否尝试在经典模式(IIS 6架构)下运行应用程序池,而在IIS 8.5下运行应用程序池? 也许新的集成pipe道模型会影响这个过渡。
你看到在活动期间排队的请求吗?
你有没有调整你的IIS设置的请求和连接? Machine.config的processModel部分。