【发布时间】:2015-11-14 14:53:18
【问题描述】:
我们将 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 版本都在 machine.config 文件中设置为自动配置;由于两台服务器具有相同的处理器和 RAM 配置,因此它们应该使用相同的设置。
当我们回滚升级时,延迟很快就下降了。不太可能是巧合,因此在其他一切都保持不变的情况下,Windows 2012 R2 或 IIS 8.5 一定有一些内在的东西会影响 Web API。第 3 方 Web API 开发人员确认他们的空间没有任何变化,很遗憾我无法收集到任何其他信息。
我检查了版本 6 和 8.5 的 IIS 日志:每秒、每分钟和每小时的平均(和中值)请求表明在 IIS 8.5 上处理的请求更多(我使用 Log Parser Studio 分析日志) .但是,没有任何迹象表明应该如此。有没有人有任何见解或建议?如果有控制这一点的设置,那么现在我希望 Web 应用程序在 Windows Server 2003 和 2012 R2 上表现相同。
【问题讨论】:
标签: asp.net iis-6 windows-server-2003 windows-server-2012-r2 iis-8.5