IIS 8服务器太忙

我已经做了几个星期了。 我有一个IIS 8.0服务器托pipe,经典模式下的ASP .NET 4.0应用程序。 两个文件是GET文件系统读取每个请求和一个是写入文件系统的文章。 现在,我有时候开始从服务器上获得“Server too Busy”。 当服务器达到这个状态时,这个错误是间歇性的,即有些请求返回200,而大多数请求返回“Server Too Busy”。 而且,即使重新启动IIS服务器也不会使其正常工作。

我读过关于这个问题的可能原因。 基本上,队列大小超过限制,队列中的请求超时等应该是原因。 现在,有各种级别的队列,HTTP.sys用于应用程序池,ASP.Net全局队列,Application(AppDomain)队列,CLR队列。

我试图通过发送大量的GET请求到服务器同时重现错误,但没有一个队列大小似乎是每perfmon增加太多。 由于这一点,我开始得到“连接超时”,但不是“服务器太忙”。 我在哪里错误地再现这个? 是否因为我每次都发送相同的请求,并且由http.syscaching本身caching?

为了确保,我能够在下一次遇到它的时候找出问题,我想定期logging各种队列大小,接收方的待处理请求数,当前正在处理的每个API的请求数,logging任何可能导致此问题的参数定期。 我怎样才能做到这一点?

我没有得到任何错误日志在ASP .NET日志。 在HTTPERR中,我可以发现很多“Timer_ConnectionIdle”错误,而且很less有“503 N / A”(服务不可用)。

请帮忙。 提前致谢。

编辑:在跟踪“服务器忙”请求,我得到了一个警告事件。 以下是这样的痕迹:

-MODULE_SET_RESPONSE_ERROR_STATUS ModuleName IsapiModule Notification EXECUTE_REQUEST_HANDLER HttpStatus 503 HttpReason Server Too Busy HttpSubStatus 0 ErrorCode The operation completed successfully. (0x0) 

任何人都可以提供任何见解吗?

就重新创build问题而言,大多数Web服务器(包括IIS)处理来自一个地址/客户端的多个连接的方式与处理来自多个地址/客户端的连接的方式不同。 考虑运行负载生成工具(特别是可以欺骗多个并发IP地址的负载生成工具,或者从负载生成器中至less运行多个虚拟客户端),以更好地了解可能发生的情况。 我没有用过这个,但是微软显然推荐了一个这样的工具: http : //blogs.msdn.com/b/asiatech/archive/2013/01/21/how-to-perform-a-stress-test- with-wcat-tool.aspx和http://www.iis.net/downloads/community/2007/05/wcat-63-%28×64%29