【问题标题】:Asp.net website first start is very slowasp.net网站第一次启动很慢
【发布时间】:2010-09-06 18:38:54
【问题描述】:

我第一次在生产网络服务器中加载网站时,它启动非常慢,后续页面加载非常快(包括主页)。

我预编译了网站,但没有任何变化。

我在应用程序启动时没有任何代码。 我没有缓存项目。

有什么想法吗?我怎样才能知道发生了什么?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    这只是您的应用程序域加载并将任何二进制文件加载到内存中。另外,它正在初始化静态变量,所以如果你有一个静态变量会从数据库中加载大量数据,则可能需要一些时间。

    【讨论】:

    • 网站启动这么慢肯定是设计缺陷?
    【解决方案2】:

    当您发布网站时,您是否选择在发布网站的设置中使网站“可更新”?如果我没记错的话,aspx / ascx 文件也需要编译,如果它们是“可更新的”,那么第一次启动将导致这些资源的重新编译。

    【讨论】:

      【解决方案3】:

      您是否在 web.config 中打开了tracing

      【讨论】:

        【解决方案4】:

        尝试清除您的事件日志?

        【讨论】:

          【解决方案5】:

          使用 http://www.iis.net/expand/ApplicationWarmUp 预热您的应用 这适用于 IIS 7.5 - 因此,如果您在 Server R2 上运行,那么它将工作。

          【讨论】:

            【解决方案6】:

            确保您在“发布”而不是“调试”中发布您的应用程序。我注意到这大大减少了加载时间。 web.config 文件将被更新。

            【讨论】:

              【解决方案7】:

              这听起来很像后台编译;不过,如果您正在预编译,那应该不是问题。

              我首先要看的是你的 ORM(如果有的话)。尤其是 NHibernate,启动时会受到严重影响,因为它在启动时会在后台运行多个编译器,以将数据层中的每个类转换为自己的内存中程序集。

              【讨论】:

                【解决方案8】:

                向达伦快速点头。这是进行 DLL 更新后 .NET 应用程序的典型行为。初始加载后,一切都应该顺利进行。

                【讨论】:

                  【解决方案9】:

                  当您说“预编译”站点时,您是使用 aspnet_compiler 实用程序进行预编译,还是仅使用 Visual Studio 中的“构建站点”选项?

                  如果你不执行前者,我推荐giving it a spin。再加上Web Deployment Projects,您应该可以更轻松地为每个版本部署站点。

                  【讨论】:

                    【解决方案10】:

                    最初的缓慢是几件事:

                    • 正在设置 appDomain
                    • ASP.NET 正在解析和编译 ASPX 页面。
                    • 正在初始化全局上下文。

                    这是 ASP.NET 的正常行为。

                    【讨论】:

                      【解决方案11】:

                      @Mickey:不,它已关闭。我需要打开它才能找到吗?

                      跟踪日志将显示每个操作需要多长时间。它可以帮助您找到需要这么长时间的原因。

                      Here 是一个可以帮助您进行设置的链接。

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 2018-07-10
                        • 1970-01-01
                        • 1970-01-01
                        • 2019-10-14
                        • 2011-10-25
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多