【发布时间】:2010-01-27 13:56:01
【问题描述】:
IIS 7 对同时请求有一些限制吗?我使用的是 Windows Server 2008。
提前致谢。
【问题讨论】:
-
这应该是服务器故障。
IIS 7 对同时请求有一些限制吗?我使用的是 Windows Server 2008。
提前致谢。
【问题讨论】:
是的,IIS 7 可以限制同时请求,具体取决于您使用的 Windows 版本。我看到人们经常断言(就像这里的其他人一样)以某种方式解除了 IIS 7 的限制。但并非总是如此,这取决于运行的是 2008、7 还是 Vista。
让我们从 Win2k8 开始,因为您提到使用它。以下文档表明 2k8 只有一个服务器版本,并且没有限制。 “使用 Windows Server 2008、IIS 7.0 ...没有请求执行限制。” (来源:http://learn.iis.net/page.aspx/479/iis-70-features-and-vista-editions/)
该页面还显示了其他版本的表格,但虽然不清楚,但这些都适用于 Vista。以下是这些版本上 IIS 7(来自该表)的限制:基本版和入门版:3 个请求,高级版:3 个,专业版:10 个,服务器版:无限制。
我发现了类似的限制,记录在这里:http://technet.microsoft.com/en-us/library/cc268241.aspx。 “对于 Windows Vista 的 Starter 和 Home Basic 版本,对于 Windows Vista Home Premium,IIS 的同时请求执行限制为 3 个。...对于 Windows Vista Business、Enterprise 和 Ultimate 版本...同时请求执行限制为 10 个。 ..对于 Window 的服务器版本,IIS 7.0 没有请求执行限制。”
最后,虽然我没有找到说明 Windows 7 限制的文档,但我已确认我的 Windows 7 Home Premium 副本中的限制是 3。 (奇怪的是,上面的 learn.iis.net 页面确实讨论了 Vista 和 Windows 2008,但没有提到 Windows 7。)
关于这个限制,如果它对您或其他读者来说是个问题,这里有一个潜在的有价值的奖励提示,我在任何地方都没有看到过记录:这个限制实际上是每个应用程序池,或者从技术上讲是每个工作进程。因此,您当然可以通过使用多个应用程序池同时针对您的盒子获得更多请求。
但也许您希望对单个站点有更多请求,显然该站点只能连接到单个应用程序池。还有一个好消息:您可以在给定应用程序池的“高级设置”中增加每个应用程序池的工作进程数(右键单击应用程序池),将“最大工作进程数”从默认值 1 增加。(有些人会认为这与 IIS 6 中所谓的应用程序池“网络花园”相同。)
对于他们的新手,无论是创建新应用程序池还是为应用程序池创建更多工作进程,对于每个新工作进程,您都会在任务管理器中看到一个新的 w3wp.exe。
最后,如果您决定增加工作进程的数量,需要注意一点。至少在 IIS 6 中,我记录了如果您使用“inproc”(或内存中)会话运行 ASP.NET 应用程序,默认情况下,使用多个工作进程(网络花园)会出现问题,因为会话不会在工作进程之间复制。这对 OP 来说可能不是问题,所以我想说你可以在我几年前做的一个条目中了解更多信息:http://bluedragon.blog-city.com/lost_sessions_webgardens_sessionstate.htm。
【讨论】:
在 Windows Server 操作系统上,IIS 7.0 没有请求执行限制。 Source
【讨论】:
默认情况下,限制是服务器处理这些请求的容量(即 CPU、内存),尽管您可以根据并发用户的数量设置限制等。
【讨论】: