ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Microsoft IIS Web服务器配置优化

2022-03-30 09:03:58  阅读:166  来源: 互联网

标签:Web IIS Windows 配置 Server 设置 NET Microsoft


相信大家所在团队应该或多或少会存在一些使用.NET 4.x的老系统,本文总结了笔者所在团队对.NET 4.x应用的线上IIS服务器进行的一些配置优化,供参考。

环境版本说明

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

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

集采线上环境对应版本:.NET Framework 4.5(及以上版本) + IIS8.0(及以上版本) + Windows Server 2012 R2(及以上版本)

 

Microsoft IIS Web服务器配置优化

 

 

.NET Framework配置优化

找到C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config 修改
`<processModel autoConfig="true" />`
`<processModel enable="true" requestQueueLimit="100000" maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="50" minIoThreads="50"/>`
修改后点击保存立即生效,修改此配置可以移除自动配置的请求队列限制,这里放宽到10万请求量并放宽ASP.NET线程数限制。
Note:关于.NET中的workerThread和ioThread的概念,可以阅读https://blog.csdn.net/wwwpcstarcomcn/article/details/11892711

IIS的applicationHost配置优化

打开cmd以管理员身份执行以下命令:
`C:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000`
验证:找到C:\Windows\System32\inetsrv\config\applicationHost.config中的以下内容
`<serverRuntime appConcurrentRequestLimit="100000" />`
 

操作系统http.sys配置优化

关于http.sys:它是Windows操作系统的一个核心组件,它运行在操作系统的内核模式下,是一个网络驱动程序,始终处于运行状态,对于用户的HTTP请求能够及时作出反应。

 

 

Microsoft IIS Web服务器配置优化

 

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

`reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000`
(2)注册表设置命令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
reference:https://www.cnblogs.com/dudu/archive/2012/06/06/bad_request_request_too_long.html

最后运行以下命令让配置生效(在powershell下通过 | 符号连接多个命令):

net stop http | net start http | iisreset

操作系统TCP端口配置优化

Windows Server默认的TCP MaxUserPort限制为5000,超出TCP连接端口数限制也会引起服务器问题(参考:博客园主站的TCP MaxUserPort引起的服务器问题 )。 修改: 在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 中添加名为MaxUserPort,类型为DWORD(32-bit),值为65534(10进制)的项目。

 

Microsoft IIS Web服务器配置优化

 

Note:如果你的多个应用站点都是使用同一个端口(比如:80端口),那么放宽此TCP MaxUserPort限制很有必要!

IIS整体配置优化

(1)关闭目录浏览 (2)关闭IIS日志 (3)启用IIS应用预加载 目的:解决第一次(或者被应用程序池回收后)访问慢的问题 方法: step1.在服务器管理中安装应用程序初始化功能 Microsoft IIS Web服务器配置优化

 

Microsoft IIS Web服务器配置优化

step2.在IIS为指定网站设置预加载
选择网站-网站设置-高级设置:

 

Microsoft IIS Web服务器配置优化

 

setp3.在IIS整体设置“配置编辑器”:

Microsoft IIS Web服务器配置优化

设置后点击应用按钮生效。

IIS应用配置优化

建议设置应用池默认配置以便多个应用站点复用: (1)常规 队列长度:改为65535 启动模式:改为AlwaysRunning

Microsoft IIS Web服务器配置优化
Note:队列长度改大这个操作是把双刃剑,取决你的服务器配置 及 应用程序的性能,建议谨慎设置。
(2)回收 改为特定时间(比如凌晨4点)回收: Microsoft IIS Web服务器配置优化

(3)进程模型
关闭时间限制:改为120s
空闲超时操作:改为Suspend
启动时间限制:改为120s
闲置超时:改为0分钟

Microsoft IIS Web服务器配置优化

 

参考资料
(1)dudu,《支持高并发的IIS Web服务器常用配置 》
(2)dudu,《让Windows Server + IIS支持10万并发请求 》
(3)滴答的雨,《站点部署:IIS配置优化指南》


来源:EdisonTalk ,作者爱迪生
武穆逸仙 https://www.iwmyx.cn/microsoftiiswebfwqpa.html

标签:Web,IIS,Windows,配置,Server,设置,NET,Microsoft
来源: https://www.cnblogs.com/star8521/p/16074833.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有