LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

支持高并发的IIS Web服务器常用设置

admin
2014年1月29日 23:40 本文热度 5692

适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0


适用的Windows版本:Windows Server 2008, Windows Server 2008 R2, Windows Server 2012


1、应用程序池(Application Pool)的设置:



  • General->Queue Length设置为65535(队列长度所支持的最大值)

  • Process Model->Idle Time-out设置为0(不让应用程序池因为没有请求而回收)

  • Recycling->Regular Time Interval设置为0(禁用应用程序池定期自动回收)

2、.Net Framework相关设置


a) 在machine.config中将


<processModel autoConfig="true" />

改为


<processModel enable="true" requestQueueLimit="100000"/>

(保存后该设置立即生效)


b) 打开C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers\Default.browser,找到<defaultBrowser id="Wml" parentID="Default" >,注释<capabilities>部分,然后运行在命令行中运行aspnet_regbrowsers -i



<defaultBrowser id="Wml" parentID="Default" >
<identification>
<header name="Accept" match="text/vnd\.wap\.wml|text/hdml" />
<header name="Accept" nonMatch="application/xhtml\+xml; profile|application/vnd\.wap\.xhtml\+xml" />
</identification>
<!--
<capabilities>
<capability name="preferredRenderingMime" value="text/vnd.wap.wml" />
<capability name="preferredRenderingType" value="wml11" />
</capabilities>
-->
</defaultBrowser>


以解决text/vnd.wap.wml问题。


3、IIS的applicationHost.config设置


设置命令:


c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

设置结果:


<serverRuntime appConcurrentRequestLimit="100000" />

(保存后该设置立即生效)


4、http.sys的设置


注册表设置命令1(将最大连接数设置为10万):


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

注册表设置命令2(解决Bad Request - Request Too Long问题):


reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxFieldLength /t REG_DWORD /d 32768
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxRequestBytes /t REG_DWORD /d
32768

(需要在命令行运行 net stop http & net start http & iisreset 使设置生效)


5、针对负载均衡场景的设置


在Url Rewrite Module中增加如下的规则:



<rewrite>
<allowedServerVariables>
<add name="REMOTE_ADDR" />
</allowedServerVariables>
<globalRules>
<rule name="HTTP_X_Forwarded_For-to-REMOTE_ADDR" enabled="true">
<match url=".*" />
<serverVariables>
<set name="REMOTE_ADDR" value="{HTTP_X_Forwarded_For}" />
</serverVariables>
<action type="None" />
<conditions>
<add input="{HTTP_X_Forwarded_For}" pattern="^$" negate="true" />
</conditions>
</rule>
</globalRules>
</rewrite>


相关博文:迁入阿里云后遇到的Request.UserHostAddress记录IP地址问题


6、 设置Cache-Control为public


在web.config中添加如下配置:



<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" />
</staticContent>
</system.webServer>
</configuration>



相关链接:


让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求


该文章在 2014/1/29 23:40:04 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved