ASP.NET MVC在共享环境中应该是这么慢吗?

时间:2012-09-05 09:34:34

标签: asp.net-mvc-3 shared-hosting

这可能是一篇相当广泛的帖子。但是我已经完成了我的研究,现在我被卡住了,我真的不想深究这一点。

我遇到的问题是共享环境(Web主机)中ASP.NET MVC 3站点的性能。如果你看下面的图表,你会明白我的意思: Loading time graph from KeepAliveForever

正如您所看到的,该站点具有这些峰值,其中加载时间为每20-30分钟大约10秒,并且这通常在此之间加载。由于它是共享主机,因此每隔20分钟就会回收一次应用程序池。 虽然我的印象是只有没有活动的网站会被缓存“抛出”。由于服务KeepAliveForever应该每10分钟请求一次站点,这对我来说似乎不是这样。无论发生什么,该网站似乎都从缓存中删除。

这是我用来预编译网站的命令:

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
aspnet_compiler -p "c:\dev\AlltForMusik\AlltForMusik" -v / -f "c:\dev\Deploy"

我也禁用了调试并在Global.asax中注释掉了RegisterAllAreas(),因为我没有使用区域,而且我读过它可能很慢:

protected void Application_Start()
    {
        //Database.SetInitializer(new DontDropDbJustCreateTablesIfModelChanged<AlltForMusikContext>());

        //AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }

我可能在Global.asax中的RegisterRoutes()中添加了15条路由。但这是非常正常的数量,不应该造成任何重大延误吗?

该网站非常轻量级,可以在此处查看从DB加载的唯一内容:Components from the DB

我已经读到这对许多其他人来说是一个问题,但我无法理解这应该是预期的结果。我的意思是,大多数较小的站点使用负载平衡的共享托管环境。如果网站变得这么慢,我将如何使用MVC为客户开发网站?!付费客户永远不会容忍这种情况!

或者MVC真的只应该用于构建在其自己的服务器上运行的大型应用程序(能够更改prefs等)吗?

非常感谢您花时间和精力帮我解决这个问题。我已经和我的网络主持人交谈,他们无法提供帮助。 Web主机并不总体缓慢,这似乎只是MVC站点的一个问题。

祝你好运 Mikael Edebro

0 个答案:

没有答案