讲到并发处理,我们一般会分为两个方面来说:a)服务器级别的并发控制; b)程序级别的并发控制。

服务器级别的并发控制:

Ø  调整服务器应用程序池中的最大连接数。

对于Web 服务器,dudu在优化博客园的服务器的时候写过以下的文章。

dudu 写过让Windows Server 2008+IIS 7+ASP.NET支持10万个同时请求http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html

1. 调整IIS 7应用程序池队列长度

由原来的默认1000改为65535。

IIS Manager > ApplicationPools > Advanced Settings

Queue Length : 65535

2.  调整IIS 7的appConcurrentRequestLimit设置

由原来的默认5000改为100000。

appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置。

3. 调整machine.config中的processModel>requestQueueLimit的设置

%windir%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

由原来的默认5000改为100000。

<configuration>
<system.web>
<processModel requestQueueLimit="100000"/>

4. 修改注册表,调整IIS 7支持的同时TCPIP连接数

由原来的默认5000改为100000。

reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 1000000 

完成上述4个设置,就可以支持10万个同时请求

posted on 2021-01-28 14:17  湖东  阅读(149)  评论(0编辑  收藏  举报