当匿名用户数达到10时,IIS挂起

And*_*huk 2 asp.net iis performance wcf

我的ASP.net网站有时会经历很长时间的挂起.

我需要帮助来了解它为什么会发生以及是否可以通过更改一些IIS设置来解决问题.站点在IIS 7.5 Window 7 x64上托管.

我从性能监视器中收集了一些信息: 在此输入图像描述

当负载很高并且匿名用户数达到10(哪个接缝是Windows 7的限制)时,站点停止响应客户端请求约1.5分钟.在停机期间打开的连接数量不断增长.在某些时候,服务器突然变为活动状态并响应所有待处理的请求.CPU使用率不超过50%并且有足够的可用内存.试图在另一台不成功的计算机上重现这种情况.

您是否了解此类IIS停机的原因?

UPD

我修补了Windows,现在它允许有超过10个连接,但问题仍然存在.在挂起期间,即使对静态html页面的简单获取请求也不起作用,因此它似乎与IIS有关,而与应用程序行为无关.

Jus*_*tin 5

请参阅操作系统版本强加的IIS限制

Windows 7 (IIS v7.5)2  
Starter:        No IIS  
Home Basic:     No IIS  
Home Premium:   simultaneous request execution limit of 3, allows multiple sites  
Business:       simultaneous request execution limit of 10, allows multiple sites  
Enterprise:     simultaneous request execution limit of 10, allows multiple sites  
Ultimate:       simultaneous request execution limit of 10, allows multiple sites  

另外的Windows Vista/7 IIS并发连接限制

IIS 7现在将对任何新请求进行排队,而不是阻止HTTP连接超过IIS 6中限制的最大连接数,同时允许有限数量的并发连接.

如果要与IIS处理10个以上的并发连接,则需要使用服务器操作系统 - 这些并发连接数没有限制.

也就是说,它本身并不能解释为什么Requests/Sec为0(IIS仍应处理请求,同时不超过10个).我的猜测是你的ASP.Net应用程序有某种问题导致它停止处理请求(例如数据库锁).结果是越来越多的连接排队等待,直到所有10个当前连接都停留等待同一件事并且服务器完全停止处理请求 - 简而言之,并发连接似乎是一种症状,而不是原始原因.