欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IIS首次打开网页比较慢的处理方法

程序员文章站 2022-04-30 22:49:50
...

用ASP.net做了个小网站,调试时一切都很好。

发布到服务器上,发现过一阵子再打开页面,需要等10秒左右的时间。

根据网上的一些提示,检查了SQL等的处理,没发现什么明显的性能问题。

只好写日志进行调试。

再Global.asax中,加入如下代码:

protected String GetLogPath()
{
	return Context.Server.MapPath("~/App_Data/Log/Application.log");
}
protected void Application_Start(object sender, EventArgs e)
{
	var file = GetLogPath();
	System.IO.File.AppendAllText(file, string.Format("{0} Application_Start \n", DateTime.Now));
}

protected void Session_Start(object sender, EventArgs e)
{
	var file = GetLogPath();
	System.IO.File.AppendAllText(file, string.Format("{0} Session_Start \n", DateTime.Now));
}

每次发现不到一小时就会有出现Application_Start,也就是网站重启了。

经过一些试探和研究,最终确定就是IIS在一段时间后,把网站给关了;应该说是从缓冲区清除了。需要把关闭缓冲区的时间调整的长一些。

打开IIS管理器,在左侧的界面上选“应用程序池”,里面会存在多个应用池,查看具体网站使用那个,在其上点右键,在出现的菜单上选择“高级设置”。

IIS首次打开网页比较慢的处理方法

找到“闲置超时(分钟)”项,默认20分钟后,会关闭应用池,可根据情况改为其他值。

由于开发的网站访问量比较小,所以改为了600,即10小时无访问,关闭应用缓冲区,可以保证一天内不会出现多次打开网页等待的情况。