【问题标题】:ASP.NET web site: Delay in page loadASP.NET 网站:页面加载延迟
【发布时间】:2009-08-25 08:35:53
【问题描述】:

我有一个使用 ASP.NET 2.0 开发的 Web 应用程序,部署在数据中心。该应用程序是一个带有 CMS 的媒体门户。

应用程序托管在 Windows Server 2008 中,数据库是 Windows 2003 Server 中的 SQL Server 2005。

我有许多指向子页面或文章的链接的主页。当我单击主页中的任何链接时,它会在 article.aspx 中加载页面的内容。我的问题是渲染 article.aspx 页面的延迟。

状态栏显示加载新页面的进度。但是实际的页面渲染会在显示页面加载进度完成后的几秒钟(20-30)后发生,即。完成浏览器状态栏中的进度条后,浏览器保留显示当前页面,并在状态栏左侧显示“完成”消息。 20-30 秒后,浏览器会呈现所需的页面(article.aspx)

最初速度很好,托管一年后性能下降了。这里发生了什么?我需要用 IIS 或 DB 检查什么吗?

【问题讨论】:

  • 您是否在每次访问页面时或仅在应用程序和/或 IIS 重新启动后看到此延迟?
  • 你能给我们更多关于页面中发生的事情的信息吗?服务器端和客户端。

标签: asp.net performance deployment


【解决方案1】:

您必须检查它是数据库还是代码。

我同意罗伯特的观点,并怀疑这是由于数据库。您可以使用 sql profiler 找出问题所在。

如果数据库不是罪魁祸首,那么您必须使用某种分析工具来检查出了什么问题。

正如 frogbot 建议的那样,asp.net 跟踪是一种方法。

您也可以使用FireBug,YSLOW,Pagespeed 作为 firfox 插件来帮助您。

RedGate's Ant Profiler很好但是不是免费的。

【讨论】:

    【解决方案2】:

    您是否有任何 Ajax 或其他在客户端运行时呈现内容的 javascript 代码?这将在页面加载后发生。

    【讨论】:

      【解决方案3】:

      听起来您的页面加载将进入数据库以获取数据,例如,您可能会填充网格和一些下拉列表。随着数据库中的数据随着时间的推移而增加,查询的运行时间逐渐增加,因此您的页面加载速度变慢。

      也许主机现在在同一服务器上托管更多站点和更多数据库,这也影响了站点。

      可能只有 1 条错误的 SQL 需要 20-30 秒才能完成。

      网络问题。

      【讨论】:

        【解决方案4】:

        您需要启用跟踪才能查看问题所在。查看文章here。如果您发现是数据库问题,请使用 SQL Server Profiler。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-01-30
          • 1970-01-01
          • 2017-04-12
          • 1970-01-01
          • 2019-08-16
          • 2020-07-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多