解决Asp.net Web网站第一次访问慢的问题

症状

Asp.net编写的网站发布到IIS之后,第一次访问会特别慢。而访问了第一个页面之后,再访问其他页面就快了。

通常表现为访问首页慢,然后访问内页就快了。然后每隔个几十分钟或1个小时之后再访问,又慢了。

解决方案

---------------------------------------------------------------------------

设置网站对应的应用程序池的"闲置超时"为0。如下图所示

解决Asp.net Web网站第一次访问慢的问题

原因分析

查了一下资料,“工作进程(w3wp.exe)会在不活动状态持续指定的一段时间后关闭。 默认的闲置超时值为20分钟。

IIS为了节约资源,默认20分钟内无人访问的话,就会关掉进程,当一个不幸运的人来访问时,就要等待工作进程初始化,就是这段初始化时间导致了第一次访问慢。

参考地址:

https://technet.microsoft.com/zh-cn/library/cc771956(WS.10).aspx

弯路

1、预编译

我的Web程序用的是Asp.net MVC4。听说预编译能够使网站响应加快,我尝试了一下,做了个Razor预编译,结果再也不能直接在Web里做写小改动了,如CSS、JS、Html等,而且还不能解决第一次访问慢的问题。

2、验证证书

在网上搜了一下,还查到一个验证证书的说法,这是.net 2.0时候的事,在新版本中已不会有这种情况。要改配置,事实证明解决的不是这个问题。

转载于:https://my.oschina.net/yiyuanxi/blog/913124