【问题标题】:asp.net web site project first loading is too slowasp.net网站项目第一次加载太慢
【发布时间】:2018-07-10 11:55:53
【问题描述】:

我开发了我的第一个问答网络项目 (ASP.NET MVC)。我将它托管在 Godady。当我第一次单击它时,网站加载速度太慢。首先,我在下面做了一些事情来提高性能,但它们并没有更有效。网站仍在加载大约 20 秒。我应该怎么做才能提高性能?请帮忙。

网站链接 --> http://www.annedenalhaberi.com/

  • 我使用了 CDN 的捆绑配置,例如

 public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.UseCdn = true;
            BundleTable.EnableOptimizations = true;
            bundles.Add(new ScriptBundle("~/bundles/jquery", "http://code.jquery.com/jquery-3.2.1.min.js"));
            bundles.Add(new ScriptBundle("~/bundles/bootsrap_css", "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"));
            bundles.Add(new StyleBundle("~/bundles/bootsrap_js", "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"));

            bundles.Add(new StyleBundle("~/bundles/mystyle_css").Include(
                      "~/Content/Styles/style.css"));

        }
  • 我将 css 包放入 head 标签和 js 包中,放在 html 标签之后

<html>
  <head>
   .....
     @Styles.Render("~/bundles/bootsrap_css")
      @Styles.Render("~/bundles/mystyle_css")
  </head>
  <body>
  ......
  </body>
</html>

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootsrap_js")

【问题讨论】:

  • 加载时间不到一秒,而且我以前从未访问过它。在我看来,当 IIS 必须第一次加载站点时,您正在经历缓慢的加载(在 IIS 眼中,对站点进行更改使其成为新站点)。只要您作为开发人员每次更新时都访问该网站,那么这应该不是问题。唯一的问题是,如果您进行了自动更新并且事后没有验证网站,那么无论如何您都是在自找麻烦。
  • 另外,如果它是一个 .Net 网站(而不是一个 .Net Web 应用程序),那么当您更改它时,IIS 必须实际重新编译该网站。我曾在一个旧网站上工作,该网站过去每次更新后都需要一分钟才能运行,但在那之后是
  • 感谢阿切尔的回答。是的,我知道在更新网站时第一次加载太慢了。但是这个问题不一样。今天我没有任何更新。但在我点击它之前不久,它花了 16.5 秒。我认为当没有人进入该站点一段时间后,然后单击它时,加载速度很慢,否则就那么快。是否可以从磁盘或内存缓存中读取?
  • 你在使用实体框架吗?我知道当你第一次调用实体框架时,初始化事物需要时间。

标签: javascript asp.net asp.net-mvc twitter-bootstrap


【解决方案1】:

您的第一个请求响应缓慢是因为 IIS 的设计。 IIS 仅在收到请求后才启动站点或应用程序池。如果在固定时间后没有新的传入请求,IIS 会再次停止站点。

检查以下内容以更好地首次加载应用程序。

  • 确保您的视图是预编译的。 More details
  • 在 IIS 服务器上启用 autostrat 功能。 More details
  • 配置您的 PreWampUp 模块 More details
  • 确保所有静态资产都已缓存

【讨论】:

  • 您好,我会检查您的建议,但无法访问第二个和第三个“更多详细信息”链接。
【解决方案2】:

您的网站加载缓慢,因为它位于服务器上的共享应用程序池中。这意味着,如果没有任何请求,它会在一段时间后进入“睡眠”状态。所以下次你的应用收到请求时,需要再次重新加载应用。

请记住,它不仅仅是提供静态内容,它还是一个程序。因此,如果您希望它始终运行,那么您通常必须升级您的订阅或/并在您自己的服务器上运行它。

【讨论】:

  • 是的,共享应用程序池导致了问题。因此,我添加了一个计划作业,该作业在一段时间内发送请求以使应用程序保持活动状态。现在没有问题了。网站速度很快
  • 是的,哈哈。我也遇到了这个问题,因为我的网站访问者太少,服务器一直在关闭它。很少有普通的托管解决方案提供“保持活力”选项。我看到您的网站立即为我加载,看起来不错!
猜你喜欢
  • 2011-01-07
  • 2010-09-06
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 2012-08-03
  • 2016-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多