解决windows系统IIS运行asp.net站点时第一次访问慢的问题(程序池被回收问题)

我们开发完asp.net的站,第一次访问的时候感觉好慢,然后速度就快了,是不是经常有这样的感觉,其实不光自己,别人也会这样,这属于IIS进程池的问题,具体我们就来说说相关问题;

本文以IIS8,Windows Server 2012R2做为案例

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

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

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

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

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

一、安装IIS应用程序初始化功能(IIS,建议全部选择,一共48项,这里做演示就不全选了

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

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

三、开启对应网站预加载

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

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

如下图,打开配置编辑器

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

如下图:在集合中添加一个初始化请求地址(用于IIS初始化默认请求地址,这里解说用的Home,具体根据大家的web来操作),添加完成后,点击配置界面右侧的应用按钮,并重启应用程序池和网站

PS:延伸阅读

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

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

2、配置说明:

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

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

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

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

更多请关注:老梁`s Blog

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。 您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
Laoliang.Net资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
老梁`s Blog(老梁博客) » 解决windows系统IIS运行asp.net站点时第一次访问慢的问题(程序池被回收问题)

发表评论

本站承接,网站推广(SEM,SEO),软件的安装的安装与调试,服务器的推荐以及配置,APP的开发与维护,网络或者web维护;财务软件,客户管理系统,人力资源,超市POS,医药管理,服务器安全,ecshop,金蝶,用友,管家婆;

立即查看 了解详情