[转]Web园和Web农场

  • 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。

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>

原文地址:https://www.cnblogs.com/linn/p/1912954.html