IIS初始化(预加载),解决第一次访问慢,程序池被回收问题


你以为你可以慢,那是不可能的!你以为你可以不动,那也是不可能的!

河南是守株待兔故事情节的发源地,讲的是懒惰的农夫坐在树桩旁等待可爱的小毛兔撞树的故事,那么这种事情怎么可能天天出现呢!你以为的事并一定按照你想象的那样发展,所以主动出击将是最有效的方式!每一个圣徒都有过去,每一个罪人都有未来!

读在最前面:

1本文以IIS8Windows Server 2012R2做为案例

2IIS8 运行在 Windows Server 2012 and Windows 8 版本以上的平台上。

3IIS中应用程序池和网站是单独存在的,但是网站运行必须建立在对应的应用程序池启动的前提下。

4、默认情况下,应用程序池在不活动情况下(无请求操作),一段时间后,将被IIS自动回收掉。

5IIS8 自带应用程序初始化工具包,IIS7.5要搜索独立安装包进行安装,低于7.5的暂时不支持IIS自动初始化。

6、此案例方式能解决ASP.Net第一次访问慢,间隔一段时间后,又访问慢的问题。

 

让我们动起来!

1、安装IIS应用程序初始化功能

 

如下图:

2、编辑网站对应应用程序池启动模式

如下图,操作路径:应用程序池 -> 网站对应程序池 -> 右键,高级设置 ->选择,启动模式 AlwaysRunning

3、开启对应网站预加载

如下图,操作路径:网站 -> 对应网站 -> 右键,高级设置 ->选择,预加载已启用 True

4、设置配置编辑器,编写默认预加载请求

如下图,打开配置编辑器

 

 

如下图:在左上角配置节点选择system.webServer/applicationInitialization,其他配置如红圈中

 

如下图:在集合中添加一个初始化请求地址(用于IIS初始化默认请求地址),添加完成后,点击配置界面右侧的应用按钮,并重启应用程序池和网站

 

 

  备注:

   1、原理说明:IIS应用初始化会在网站第一次创建后或者对应网站的应用程序池回收后,自动开启新程序池,并启动网站初始化,模拟一次正常请求,使网站一直处于在线状态。

此流程可以借助第三方工具或者服务模拟网站请求达到相同目的

2、配置说明:

1)、启用应用程序池(AlwaysRunning):保证应用程序池在第一次创建或者被回收后,能自动再次重启运行。

2)、启用网站程序预加载(true):保证程序池在启动过后,网站能响应预加载动作。

3)、配置网站默认预加载路径:保证程序在程序池启动后,网站预加载过程中,能快速编译程序并进驻内存,保证请求快速响应。    

 

来自 <https://www.cnblogs.com/teamblog/p/6195078.html>

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:EF强制生成SQL 2008兼容的SQL语句
下一篇:C#常见异常列表
评论列表

发表评论

评论内容
昵称:
关联文章

IIS初始化),解决第一访问程序回收问题
.NET IIS第一访问程序回收问题,IIS初始化(启用)
IIS程序回收配置
解决winform使用EF6 第一查询会个几秒钟
IIS中应用程序自动停止,重启报错
服务安装失败:未能文件或程序
winform自定义控件(UserControl)的研究
System.BadImageFormatException:“未能文件或程序集 或它的某一个依赖项。试图格式不正确的程序
SQLite Database 多线程访问需要注意的问题
从一解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(上篇)
从数据库或者其他位置ASP.NET MVC Views 视图 数据库中加 cshtml
IIS配置允许跨域访问
服务器安全:限制外网访问解决方案
解决WebClient或HttpWebRequest首连接缓慢问题
记一.Net Core程序启动失败的排查过程
.NETCore IIS应用程序事件监听
未能文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。
MEF会缺少一些dll,
CMD运行命令程序自动暂停问题解决
解决new Thread().Start导致高并发CPU 100%的问题

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码