网站与Asp.net mvc IIS6闲置后,第一个请求非常慢

Alf*_*dez 12 asp.net-mvc iis-6

我在asp.net mvc中有一个项目,我的主机使用的是IIS6,而网站闲置后的第一个请求非常慢.我查看了http://forums.asp.net/t/1418959.aspx,并要求托管人员进行此设置.他们说实际设置是:

"池已设置为禁用空闲超时,启用快速失败并具有单个工作进程."

但在第一次请求时仍然很慢.你还有其他线索吗?

提前致谢,

阿尔弗雷多

Jef*_*rdy 8

您可能是工人流程回收的受害者.询问您的主机工作进程经常被重新处理的频率.

当工作进程被回收时,它必须重新编译并重新启动整个Web应用程序,这就是导致速度减慢的原因.

  • 减速发生前需要多长时间?此外,进程回收和空闲超时不是一回事(我可能没有说清楚) - 你确定你的主机改变了正确的吗? (2认同)

小智 6

这很自然.

IIS通常配置为在某个年龄或某段时间内没有请求的情况下关闭网站.当IIS关闭asp.net后第一个请求到来时,您的网站必须加载(并可能编译).

常见的解决方案是在将网站发布到服务器之前对其进行预编译.

  • 预编译与ASP.NET MVC无关,它是一个引擎盖下的Web应用程序类型项目. (2认同)

dri*_*iis 2

只是一个猜测,但也许您正在缓存一些数据,这些数据需要在站点闲置一段时间后刷新?

如果情况并非如此,那么我的猜测是工作进程已因某种原因关闭(可能是由于 IIS 中的空闲超时之外的其他原因)。如果您需要检查是否是这种情况,您可以向 Application_Start 事件添加一些代码,将启动事件记录到文件或您已有的任何日志记录中。运行一段时间后,您可以检查日志并查看发生了多少个 Application_Start 事件。