由于超出队列限制,ASP.NET 拒绝了此请求

由于超出队列限制,ASP.NET 拒绝了此请求

当我从 IIS 运行我的网站时出现此错误。

ASP.NET rejected this request because the queue limit was exceeded.

我的用户收到错误消息:

This service is unavailable

回收application pool解决了一些问题,但问题在几个小时内再次出现。我使用这个公式超过了queue lenghtlapplication poo

available memory * processor * 10 / total number of application pool.

我得到的结果是 40,000。所以我将queue length应用程序池设置为 40,000。但这并没有解决我的问题。我更新了Ping maximum response time, shut down time limit and stratup time limit并将所有设置为 200。问题没有再次出现,但我不确定它是否解决了我的问题或减少了我网站的负载。我的网站现在开始正常运行。

有人能了解有关此错误的更多信息吗?或者有人能建议我如何诊断问题吗?我希望这个错误将在下周五再次出现,所以我希望做好充分的准备来找到问题所在。 在此处输入图片描述

答案1

不要试图通过延长队列来解决这个问题 - 从解决问题开始。更长的队列只能处理突发情况......

问题是您的服务器跟不上,这就是队列被填满的原因。您收到很多请求,但无法处理它们。正如我所说 - 在突发情况下,较长的队列会有所帮助,但最终您必须跟上。

开始分析您的代码并使其更高效,或者查看瓶颈在哪里(CPU,内存,磁盘)并在那里添加 - 可能添加更多服务器。

相关内容