2012-02-29 121 views
0

我看到了我的MVC3应用程序的速度问题。出于测试目的,我创建了一个空白的MVC3应用程序并将其加载到IIS 7.5中。我第一次访问该网站时,需要6-15秒才能加载页面。我尝试了以下链接,但没有帮助。IIS 7.5 MVC3速度问题

http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx

我启用了一切,那个帖子说,IIS来了就好了。但我仍然有同样的问题。我第一次去这个网站,回应速度很慢。之后,它非常快。然后,如果我单独放置大约30分钟并返回,它又会变慢。

空闲超时时间似乎并没有做任何事情,无论是如果将它设置为0

+1

你知道ASP是如何工作的吗?它是_compiled_(这正是第一次访问正在做什么,将它加载到IIS的缓存中)?您可以更改AppPool的重复使用时间以重新使用下一个加载时间(迫使它在内存中保留更长时间),如果这就是您要做的事情... – 2012-02-29 14:02:02

+1

这是关于IIS上关闭您的网站的工作进程不活动。您可以将空闲超时设置为零以停止发生这种情况。 – Lazarus 2012-02-29 14:03:02

+0

没有关于您的IIS7环境,CPU,内存,负载,磁盘I/O等的任何数据,这个问题是无法回答的。 – Kev 2012-02-29 19:27:34

回答

2

你看到的是应用程序池工作进程被关闭,由于不活动(在过去的X没有传入的请求-分钟)。我不认为这是典型的设置为零为无限的类型参数。

有几个选项。您可以提高该超时值(在应用程序池设置中,值为怠速超时(分钟)值)。您也可以获得一个应用程序来访问Web应用程序,实质上可以让工作进程和应用程序池免于因空闲而关闭。

+0

我曾经通过每隔x分钟运行一次cron作业,将wget命令发布到索引页,从而实现了Linux服务器的保持活动状态。 – Marthijn 2012-02-29 14:08:44

1

检查这个职位自动启动功能在IIS 7.5

http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx

ASP.NET 4的新的 “自动启动” 功能和IIS 7.5提供了一个良好 可让您执行昂贵的应用程序 启动和预缓存逻辑,可在任何最终用户击中您的 应用程序之前运行。这使您可以将应用程序“预热”到 ,并且从一开始就准备好,并提供一致的高性能体验。

+0

正如我在我的问题中指出的,我试过这个。它没有带来任何性能提升。 – Mitch 2012-02-29 14:08:38

+0

我认为只需要IIS/AppPool启动。它仍然会因闲置而超时。 – 2012-02-29 14:09:33