我有一个ASP.NET 4.0应用程序在64位Windows Server 2008 R2企业版机器上的IIS 7.5上运行,有大量的RAM,CPU,磁盘等.
对于每个Web请求,ASP.NET应用程序都连接到后端Web服务(通过原始套接字),该服务在同一台机器上运行.
问题:似乎存在限制后端Web服务的同时连接数的问题.可疑的是,并发连接数达到了16.
我发现微软的这篇重要文章解释了如何调整IIS的设置以容纳产生大量Web服务请求的ASP.NET应用程序:http://support.microsoft.com/?id = 821268 #tocHeadRef
我按照文章的推荐,但仍然没有运气.设置特别有趣的是maxconnection设置,我甚至碰到了999.
任何想法还有可能被节流的连接?
注意:当我从混合中删除IIS并让客户端直接连接到后端Web服务时,它将很乐意打开尽可能多的连接,所以我很肯定后端不是瓶颈.它必须是IIS/ASP.NET-land中的东西.
以下machine.config是应用程序正在阅读的相关部分(经过验证appcmd.exe):
<system.web>
<processModel autoConfig="false" maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="50" />
<httpRuntime minFreeThreads="176" minLocalRequestFreeThreads="152"/>
<httpHandlers />
<membership>
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
<profile>
<providers>
<add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/"
type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</profile>
<roleManager> …Run Code Online (Sandbox Code Playgroud)