我们有一个在 IIS 8.5 上运行的 ASP.NET 应用程序,当流量较高时,间歇性地大约 1 分钟,“请求队列”开始增长并且处理器时间下降,查看性能监视器图表:
奇怪的是,没有出现应用程序重启、503或IIS回收的情况,这可能是什么呢?是什么突然让 IIS 将请求挂起一段时间?除了图表之外,您还可以看到 Windows 的内存看起来不错且稳定。
以下是一些环境配置: APP Pool Queue length: 10000(没有503,所以我想不会是这个)
Asp.net 配置:
<system.web>
<applicationPool maxConcurrentRequestsPerCPU="999999" />
</system.web>
机器配置:
<processModel autoConfig="false" requestQueueLimit="250000"/>
我们这样配置是因为我们的应用程序使用了大量 SignalR。
应用程序使用 Azure SQL Server 和 Azure Redis,但这不是问题,因为另一个虚拟机(具有相同的应用程序)不会同时显示问题。
另一个提示是:在同一个虚拟机中,我们有相同的应用程序,但在另一个应用程序池和另一个行为相同的域中。
任何帮助将不胜感激,这让我发疯。
谢谢!
最佳答案
您是否遵循了有关配置 Redis 提供的线程池增长设置的建议,请参阅 here 。也有类似的问题。
关于c# - IIS ASP.net 应用程序突然挂起请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40437672/