常规配置

image.png|550

属性名称 属性详解
队列长度 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,以及其他类型的请求有更多的控制。 |

建议优化配置:

  1. 队列长度: 默认值1000,将原来的队列长度改为 65535。调整队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅。
  2. 如果程序引用dll为32位程序包,则IIS启动32位应用程序:默认值False,改为True
  3. 托管管道模式:Integrated

回收设置

image.png|500

属性名称 属性详解
发生配置更改时禁止回收 如果为 True,应用程序池在发生配置更改时将不会回收。
固定时间间隔(分钟) 一个时间段(以分钟为单位),超过该时间后,应用程序池将回收。值为 0 意味着应用程序池不会按固定间隔回收。
禁止重叠回收 如果为 True ,将发生应用程序池回收,以便在创建另一个工作进程之前退出现有工作进程。如果工作进程加载不支持多个实例的应用程序,请将该属性设为True。
特定时间 如果为True,则当应用程序池在计划的时间进行回收时,系统将生成一个事件日志条目。
特定时间 应用程序池进行回收的一组特定的本地时间(24小时制)。

建议优化配置:

  1. 禁用重叠回收设置为false:这样就有效避免了应用程序池回收假死问题。
  2. 设置为特定时间=true,每天晚上04:00分回收。这样就有效避免了第一次打开程序速度慢的问题

    进程设置

    image.png|500
属性名称 属性详解
标识 配置应用程序池以作为内置账户或特定的用户标识运行,内置账户也就是“应用程序池标识”(推荐)、“网络服务”、“本地系统”、“本地服务”。
闲置超时(分钟) 工作进程在关闭之前可以保持闲置状态的时间(以分钟为单位)。如果某个工作进程既未处理请求,也未收到任何新的请求,则将进入闲置状态。
最大工作进程数 可用来处理对应程序池的请求的最大工作进程数。如果此数字大于 1,则应用程序池为“Web 园”。在 NUMA 感知系统上,如果此数字为 0,则为获得最佳性能,IIS 将启动与 NUMA 节点一样多的工作进程。

建议优化配置:

  1. 标识设置,根据实际情况选择,可参照上面的用户定义。
  2. 设置闲置超时,进程启动后,规定时间(根据实际情况设置)内未分配任务则回收此资源。
  3. 设置工作进程数。

    IIS并发提高设置

  1. 查看常规设置,修改队列长度修
  2. 修改IIS的 appConcurrentRequestLimit 设置

默认值是5000,修改为50000(或者更大的值) 直接在cmd中执行:

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

在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置:

  1. 修改machine.config中的processModel>requestQueueLimit的设置

打开该文件:%systemroot%\Microsoft.Net\Framework64\v4.0.30319\CONFIG\machine.config 找到如下所示的 processModel 元素: 将 processModel 元素替换为以下值:

<processModel enable="true" requestQueueLimit="100000" />
  1. 修改注册表,调整IIS 7支持的同时TCPIP连接数

    reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
    
  2. 重启服务,设置生效

    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

results matching ""

    No results matching ""