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

时间:2009-09-14 17:14:07

标签: asp.net-mvc iis-6

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

“池已设置为禁用空闲超时,启用快速失败并使用单个工作进程。”

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

提前致谢,

阿尔弗雷

3 个答案:

答案 0 :(得分:8)

您可能是worker process recycling的受害者。询问您的主人工作流程的重新编制频率。

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

答案 1 :(得分:6)

这很自然。

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

在将precompile your website发布到服务器之前,常见的解决方案是{{3}}。

答案 2 :(得分:2)

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

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