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 园)的单个物理服务器多个工作进程的情况来说的)
备注一:
Web园:在Web园中你可以配置此应用程序池所使用的最大工作进程数,默认为1,最大可以设置为4000000; 配置使用多个工作进程可以提高该应用程序池处理请求的性能,但是在设置为使用多个工作进程之前,请考虑以下两点:
每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗;
每一个工作进程都具有自己的状态数据,如果Web应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。
备注二:
让服务器从设置上支持10万个同时请求。
具体设置如下:
1. 调整IIS 7应用程序池队列长度
由原来的默认1000改为65535。
在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置:
由原来的默认5000改为100000。
4. 修改注册表,调整IIS 7支持的同时TCPIP连接数
由原来的默认5000改为100000。
启用web farm (web农场)之后,需要给在一台机器的iis给每个网站-》功能视图-》计算机密钥,生成计算机验证密钥和解密密码,并拷贝到其它机器。注意,“运行时自动生成”
和“为每个应用程序生成一个唯一密钥”两个checkbox都不要打勾。或者在web.config里面配置:
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 园)的单个物理服务器多个工作进程的情况来说的)
备注一:
Web园:在Web园中你可以配置此应用程序池所使用的最大工作进程数,默认为1,最大可以设置为4000000; 配置使用多个工作进程可以提高该应用程序池处理请求的性能,但是在设置为使用多个工作进程之前,请考虑以下两点:
每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗;
每一个工作进程都具有自己的状态数据,如果Web应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。
备注二:
让服务器从设置上支持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中可以查看到该设置:
<serverRuntime appConcurrentRequestLimit="100000" />
3. 调整machine.config中的processModel>requestQueueLimit的设置
由原来的默认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
================================
启用web farm (web农场)之后,需要给在一台机器的iis给每个网站-》功能视图-》计算机密钥,生成计算机验证密钥和解密密码,并拷贝到其它机器。注意,“运行时自动生成”
和“为每个应用程序生成一个唯一密钥”两个checkbox都不要打勾。或者在web.config里面配置:
<system.web>
<!-- 计算机密钥 -->
<machineKey validationKey ="CC18EB31AEFC8C902C9B82043E0B50669801E4352B4F363C43B070D438BBD1D0E6AD1A353B57972D70DAC89C7AA83AA19EE1C94E75A0A317EAA56378D8B40034" decryptionKey="748A08E79ECE7F097DFBB1345050A5D22E38DC759AF1F34A" decryption="Auto" validation="SHA1"></machineKey>
</system.web>