在asp.net网站上加载第一页缓慢

时间:2010-01-20 15:41:43

标签: asp.net performance iis

当我访问使用asp.net构建的网站时,偶尔(总是经过很长一段时间的闲置时间,例如一夜之间) - 加载页面需要大约15秒(在我看到任何进展之前15秒) ,然后页面快速出现。)

该网站上的其他页面或刷新速度与往常一样快 - 它们在其他机器上也很快,只有第一个似乎采用了“点击”。

页面追踪从未通过任何事情(整个周期只是一秒钟)

所以我的问题是我应该在哪里看?也许IIS?或者它仍然是我的asp.net应用程序,我只是在寻找错误的地方(痕迹)寻找线索?

由于我对IIS服务器没有太多控制权,因此我可以通过asp.net检查任何内容会更有帮助,然后才会询问特定的管理员。

欢呼:D

6 个答案:

答案 0 :(得分:39)

IIS应用程序池在30分钟不活动后关闭。之后,当您提出请求时,IIS基本上必须再次启动网站,这会导致您所描述的行为。您可以在iis中更改网站的空闲时间,但要避免使用它。

答案 1 :(得分:21)

您还可以查看4.0框架的Auto-Start功能。

答案 2 :(得分:10)

如果您使用的是IIS 7,则会有一个IIS插件调用Application Warm Up来帮助

我写了一篇关于我在这里使用它的经历的博客文章(不知道我是否可以发布到我自己的内容?):

http://www.diaryofaninja.com/blog/2010/05/06/keep-your-aspnet-websites-warm-and-fast-247

答案 3 :(得分:5)

您可以使用预热脚本安排应用程序池的回收。首先给它自己的应用程序池,看看是否有帮助。

答案 4 :(得分:5)

当你的网站恢复你的Application.OnStart将会激活(在你的global.asa中)如果你在这里做了很多工作,这可能会减慢你的应用程序。 所有缓存上的其他内容都将为空,所有数据库连接都将断开连接。

此行为在IIS中是可配置的,如果您无权访问IIS设置,那么一个黑客的方法是每10分钟就从脚本或具有元刷新的特殊页面访问您的站点。

您的另一个选择是接受当天的第一页点击时间比使用时间长几秒。

答案 5 :(得分:2)

我过去遇到过同样的问题。我从来没有设法解决问题,但我怀疑IIS应用程序池是罪魁祸首。