- Web Garden(Web 园):
An application pool that uses more than one worker process is called a Web garden.
When an application is hosted by multiple processes on the same server it is said to be a web garden environment.
Web-garden – An IIS6.0 feature where you can configure an application pool as a web-garden and also specify the number of worker processes for that pool. It can help improve performance in some cases.
使用至少一个工作进程的应用程序池称为:Web Garden(Web 园)。当应用程序托管于同一个服务器上的多个进程时,这个就是一个Web Garden(Web 园)环境。
这是一个IIS6的特性,你可以在IIS6里配置应用程序池为一个Web Garden(Web 园),并且可以指定工作进程的最大数量。在有些时候,这样做可以提高性能。
- Web Farm(Web 农场):
An application is hosted by multiple servers then it is said to be web farm environment.
Web-farm – a general term referring to a cluster of physically separate machines, each running a web-server for scalability and performance (contrast this with web-garden which refers to multiple processes on one single physical machine).
如果应用程序被多个服务器托管,这种情况就可以称作Web Farm(Web 农场)。
这是对于物理上独立的服务器构成的群集的称呼,为了伸缩性和性能,每个程序运行于独立的Web服务器上(相对于Web Garden(Web 园)的单个物理服务器多个工作进程的情况来说的)
备注一:
每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗;
备注二:
让服务器从设置上支持10万个同时请求。
具体设置如下:
1. 调整IIS 7应用程序池队列长度
由原来的默认1000改为65535。
IIS Manager > ApplicationPools > Advanced Settings
Queue Length : 65535
2. 调整IIS 7的appConcurrentRequestLimit设置
由原来的默认5000改为100000。
c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置:
3. 调整machine.config中的processModel>requestQueueLimit的设置
由原来的默认5000改为100000。
<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
<!-- 计算机密钥 -->
<machineKey validationKey ="CC18EB31AEFC8C902C9B82043E0B50669801E4352B4F363C43B070D438BBD1D0E6AD1A353B57972D70DAC89C7AA83AA19EE1C94E75A0A317EAA56378D8B40034" decryptionKey="748A08E79ECE7F097DFBB1345050A5D22E38DC759AF1F34A" decryption="Auto" validation="SHA1"></machineKey>
</system.web>