环境:Windows Server 2008 Enterprise,IIS 7.0,ASP.NET 2.0(CLR),.NET 4.0
我有一个没有页面和没有会话(HttpHandler)的ASP.NET应用程序。它是一个流服务器。我使用两个线程来处理每个请求,所以如果有100个连接的客户端,那么使用200个线程。这是一个专用的服务器,服务器上没有更多的应用程序。
问题是在200个客户端连接之后(压力测试)应用程序拒绝新的客户端,但是如果我增加了应用程序池的工作线程(创建一个Web花园),那么每个w3wp进程可以拥有200个新的快乐客户端。
我觉得.NET线程池限制到达那一点,需要增加它。
谢谢
解决方法
看看你的aspnet.config的
applicationPool
元素:
<configuration> <system.web> <applicationPool maxConcurrentRequestsPercpu="5000" maxConcurrentThreadsPercpu="0" requestQueueLimit="5000" /> </system.web> </configuration>
示例位置是:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
您可能还想查看processModel
(在您的machine.config中)。