c# - IIS ASP.net 应用程序突然挂起请求

标签 c# asp.net .net iis signalr

我们有一个在 IIS 8.5 上运行的 ASP.NET 应用程序,当流量较高时,间歇性地大约 1 分钟,“请求队列”开始增长并且处理器时间下降,查看性能监视器图表:

red one is the processor time and green, request queue

奇怪的是,没有出现应用程序重启、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/

相关文章:

javascript - IFrame 中的 HTML 不允许 DOM 交互

c# - 引用类中的另一个类以获取 json

sql - 你能在 ssms 中生成带有图像/图片的 xml feed吗

.net - IL/CLR/DLR 引用资料?

c# - 在哪里最好存储临时反序列化数据?

c# - 继承通用类的对象列表

php - .NET 中 PHP 的 InfiniteIterator 的等效项是什么?

c# - 非委托(delegate)类型的事件

c# - 如何释放/释放 IntPtr 到函数指针?

c# - 歧义操作异常 : Multiple actions matched in MVC Core