如何提高IIS / ASP.Net上的启动性能

时间:2009-04-22 00:29:19

标签: asp.net iis

我使用的是一个特别慢的虚拟网络主机(名称保留!),其中磁盘性能可能非常糟糕。因此,我的ASP.Net网站的第一次点击可能需要1分钟以上才能加载。 (初始加载后,它全部在RAM中并且很好。)

我想知道是否有人知道指示IIS预加载网站的方法?是本质,模仿第一击?

我玩过所有预编译的东西,它有所帮助,但它不能替代上面的内容。

谢谢!

5 个答案:

答案 0 :(得分:3)

您的应用程序是否需要回收?所有回收选项都在IIS配置中,可以根据您的应用进行调整。

理想的情况是删除所有应用程序回收,以便应用程序始终保持加载状态。只有在更改了web.config文件或部署了新版本的应用程序时才会进行回收。

如果需要每日回收,根据上一个答案,可以使用批处理文件来回收应用程序,它也可以使用应用程序的URL调用iexplore.exe来“预加载”它。

答案 1 :(得分:0)

为什么你不能拥有一个iis重置的批处理文件,并让它安排在某个时间每天执行(当你的系统上没有用户时)?

答案 2 :(得分:0)

如果您的提供商可以在重新启动Web服务器时找到方法,则可以在Web服务器重新启动后让批处理文件/脚本文件访问您的网站。您只需要命中唯一的ASP.NET程序集文件即可将特定程序集放入内存中。因此,如果您有一个包含10个页面的程序集,只需点击其中一个页面即可。这应该够了。如果您有多个程序集,请在每个程序集中单击1页以将这些程序集加载到内存中。

如果你不能在你的提供商处拥有它,那么你必须考虑一种更聪明的方法来自己做这件事(即了解提供商重置网络服务器并在你的机器中安排任务以点击这些页面自己)。

答案 3 :(得分:0)

您希望预先加载多少网站?有多少页?

您可以预编译网站,删除问题的“编译”部分,但如果网站足够大,则“预加载”网站可能没有意义。如果站点在多个主机上运行,​​则尤其如此。

答案 4 :(得分:0)

在修改程序集后,首次从已编译的ASP.NET应用程序请求页面时,处理的时间比正常的页面请求要长很多。

问题的简单解决方案是在任何修改后立即从您的应用程序请求页面。这样您就是第一个请求页面的人,而且您需要等待很长时间而不是您的用户。