常规配置
属性名称 | 属性详解 |
---|---|
队列长度 | HTTP.sys 将针对应用程序池排队的最大请求数。如果队列已满,新请求将收到 503“服务不可用”的响应。默认队列长度设置是1000,范围在10-65535 之间。 |
启用 32 位应用程序 | 如果针对 64 位操作系统上的应用程序池将该属性设为 True,则为应用程序池提供服务的工作进程将处于 WOW64 (Windows on Windows64)模式。WOW64模式下的进程是仅加载 32 位应用程序的 32 位进程。 |
托管管道模式 | Classic模式(经典):指的是与IIS 6或者之前版本保持兼容的一种模式,一个典型问题就是,在处理ASP.NET这种动态网站的时候,它是通过一个所谓的ISAPI程序,作为插件的方式来工作的。针对不同的动态应用程序(例如ASP,PHP等),会需要不同的ISAPI。 |
Integrated模式(集成):这种全新的模式,允许我们将ASP.NET更好地与IIS集成,甚至允许我们在ASP.NET中编写一些功能(例如Module)来改变IIS的行为(扩展)。集成的好处是,不再通过ISAPI的方式,提高了速度和稳定性。至于扩展,则可以使得我们对于IIS,以及其他类型的请求有更多的控制。 |
建议优化配置:
- 队列长度: 默认值1000,将原来的队列长度改为 65535。调整队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅。
- 如果程序引用dll为32位程序包,则IIS启动32位应用程序:默认值False,改为True
- 托管管道模式:Integrated
回收设置
属性名称 | 属性详解 |
---|---|
发生配置更改时禁止回收 | 如果为 True,应用程序池在发生配置更改时将不会回收。 |
固定时间间隔(分钟) | 一个时间段(以分钟为单位),超过该时间后,应用程序池将回收。值为 0 意味着应用程序池不会按固定间隔回收。 |
禁止重叠回收 | 如果为 True ,将发生应用程序池回收,以便在创建另一个工作进程之前退出现有工作进程。如果工作进程加载不支持多个实例的应用程序,请将该属性设为True。 |
特定时间 | 如果为True,则当应用程序池在计划的时间进行回收时,系统将生成一个事件日志条目。 |
特定时间 | 应用程序池进行回收的一组特定的本地时间(24小时制)。 |
建议优化配置:
属性名称 | 属性详解 |
---|---|
标识 | 配置应用程序池以作为内置账户或特定的用户标识运行,内置账户也就是“应用程序池标识”(推荐)、“网络服务”、“本地系统”、“本地服务”。 |
闲置超时(分钟) | 工作进程在关闭之前可以保持闲置状态的时间(以分钟为单位)。如果某个工作进程既未处理请求,也未收到任何新的请求,则将进入闲置状态。 |
最大工作进程数 | 可用来处理对应程序池的请求的最大工作进程数。如果此数字大于 1,则应用程序池为“Web 园”。在 NUMA 感知系统上,如果此数字为 0,则为获得最佳性能,IIS 将启动与 NUMA 节点一样多的工作进程。 |
建议优化配置:
- 查看常规设置,修改队列长度修
- 修改IIS的 appConcurrentRequestLimit 设置
默认值是5000,修改为50000(或者更大的值) 直接在cmd中执行:
c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:50000
在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置:
- 修改machine.config中的processModel>requestQueueLimit的设置
打开该文件:%systemroot%\Microsoft.Net\Framework64\v4.0.30319\CONFIG\machine.config
找到如下所示的 processModel 元素:
<processModel enable="true" requestQueueLimit="100000" />
修改注册表,调整IIS 7支持的同时TCPIP连接数
reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
重启服务,设置生效
net stop http & net start http & iisreset
注: 1、IIS最大并发数限制:最大并发连接数= 最大并发工作线程 + 队列长度 2、最大进程数:需要根据系统资源情况,合理设置数量;并应合理设置应用程序池的【限制超时】和【回收时间间隔】属性进行资源释放 3、回收设置合理的使用能保证服务不停机,影响业务系统。
参考链接: 优化 IIS 性能:https://learn.microsoft.com/zh-cn/biztalk/technical-guides/optimizing-iis-performance?source=recommendations 优化 IIS 10.0:https://learn.microsoft.com/zh-cn/windows-server/administration/performance-tuning/role/web-server/tuning-iis-10