IIS 解决首次加载慢的问题

本文详细介绍了如何在Windows中通过‘启动或关闭Windows功能’启用应用程序初始化,并在IIS中配置站点的高级设置以实现预加载。重点讨论了在IIS配置编辑器中设置自动访问的网页以实现预加载,包括设置remapManagedRequestsTo、skipManagedModules和doAppInitAfterRestart等参数。同时,文章还提到了应用程序池的启动模式和回收策略,以确保连续运行和避免中断。
  1. 在【启动或关闭Windows功能(Turn Windows features on or off)】中打开【应用程序初始化(Internet Information Services->World Wode Web Services->Application Development Features->Application Initialization)】
    应用程序初始化
    2 站点高级设置(Advanced Settings)
    预加载已启用(Prelaod Enabled)->True
    高级设置

接着配置(配置编辑器 Configuration Editor)当站点启动时自动访问的网页,以实现预加载
在这里插入图片描述
在这里插入图片描述
remapManagedRequestsTo :
若要指定初始化期间要返回的静态文件的名称,请将remapManagedRequestsTo设置为该文件的名称

如果不想加载托管模块,请将skipManagedModules设置为true,比如ASP.NET Core

要指定每当应用程序重新启动时自动启动初始化过程,请将doAppInitAfterRestart设置为true。

在集合编辑器中,要添加要初始化的应用程序,请单击“添加”,单击“主机名”,然后将主机名设置为主机名。单击initializationPage并将其设置为应用程序的URL。关闭对话框

如果配置了预加载,在下面的设置中,可以考虑设置应用程序池定时回收

  1. 应用程序池高级设置(Advanced Settings)
    启动模式(Start Mode)-> AlwaysRunning
    固定时间间隔(分钟)(Regular Time Interval)->0
    闲置超时(分钟)(Idle Time-out)->0
    在这里插入图片描述
    在这里插入图片描述

ASP.NET Core 站点重新启动会让正在访问的网页显示

  1. HTTP Error 503.0 - Server has been shutdown
  2. ERR_CONNECTION_RESET
  3. **正常访问 **
    回收程序池,正常访问
    停止程序池,正在访问的,不会有返回,会一直连接,此时启动程序池,IIS报错

回收应用程序池 则不会影响 正在访问的网页

参考:
https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-application-initialization

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/applicationinitialization/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值