【问题标题】:How to reduce total waiting time of a web page?如何减少网页的总等待时间?
【发布时间】:2013-03-22 19:36:57
【问题描述】:

我正在开发一个网站。该网站上的某些页面呈现速度非常慢,比如说大约需要 16-20 秒。

我在互联网上搜索以优化网页。

每个人都说要减小网页的大小或将所有 一个文件中的静态内容(即 JavaScript 和 CSS)以减少 下载内容时向服务器发出的 HTTP 请求数。

但我对这种方法有一些问题:

  1. 源码海量,不知道合并有什么影响 将所有 JavaScript 和 CSS 文件合并到一个文件中(哪些功能会受到影响 像 JavaScript 冲突?)
  2. 最长的时间是这个页面的等待时间(大约14秒), 我已经测试了数据库服务器的总响应时间和 我本地端的其他进程,最少大约 1 秒。

另外,我已经在我的暂存服务器上测试了这个页面,它运行良好,只需 2-3 秒的下载时间,但在生产服务器上大约需要 16 秒。

  1. 如果是服务器的问题,因为暂存服务器上的页面是 工作正常,但不能在生产服务器上
    1. 代码更改最少的代码优化是什么?

【问题讨论】:

  • 您的生产服务器在哪里?
  • @Tim B James 即使它在南极洲,它的响应速度也可能比我加载所需的 30 秒更快。

标签: asp.net optimization webpage performance


【解决方案1】:

每个人都说要减小网页的大小,或者将所有静态内容(即 JavaScript 和 CSS)放在一个文件中,以减少下载内容时对服务器的 HTTP 请求数。

在您的情况下这不会做任何事情,因为页面本身的速度很慢,而不是 JavaScript 代码和 CSS 的下载和解析。

另外,我已经在我的登台服务器上测试了这个页面,它运行良好,只需 2-3 秒的下载时间,但在生产服务器上大约需要 16 秒。

找出它们之间的不同之处。显然,您的生产服务器以某种方式配置错误。如果它与 HTML、CSS 或 JS 相关,它会显示在两台服务器上。

【讨论】:

【解决方案2】:

很难说没有网站的更多细节,但我会在带有 Firebug 和 YSlow 扩展的 Firefox 中加载。

Firebug 的“网络”标签会显示您的浏览器花费最多时间的确切时间线 - 是否正在下载?渲染?等等 -- YSlow 会给你一个关于如何加速它的提示列表。

即使它在您的登台服务器上运行良好,这也会有所帮助。登台服务器是否需要更长的时间来响应 HTTP 请求?它传输数据更慢吗?登台服务器上的请求是否未被浏览器缓存?这将是有用的信息。

【讨论】:

    【解决方案3】:

    感谢所有回复。发现的实际问题非常令人惊讶。

    我怀疑存在一些导致问题的代码逻辑。我使用代码分析器工具来分析我的代码在运行时的行为。经过几个小时的代码分析,我知道有一个代码块每次在大约 100,000 个文件中搜索一个字符串,如果找不到该字符串,每次都会创建一个新文件。

    这个故事的寓意是,Code Profiler 工具在您可以检测所有资源的情况下非常有用,即;图形和数字格式的代码段使用的内存、CPU 能力和空间。

    我发现 Ants Code Profiler 是最有用且功能强大的代码分析工具。 您可以使用以下链接了解有关此工具的更多信息: http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

    谢谢 鲁彭德拉

    【讨论】:

      【解决方案4】:

      您需要同一页面上的所有 JavaScript 文件吗?我可以看到您有一个名为 admin 的 JavaScript 文件,或者一个讨论信用卡详细信息和付款的文件?如果不需要,请减少页面上 JavaScript 文件的数量。

      始终建议将 JavaScript 文件放在页面底部以加快性能,因此请试一试。也可以尝试对大文件使用内容交付网络。

      尝试“缩小”您的 JavaScript 和 CSS 文件。这使得它们的尺寸小了很多,并有助于提高性能。

      我真的不明白为什么您有这么多 JavaScript 文件,因为您提供的示例页面似乎并没有做太多事情。您是否仔细查看过您的代码,看看是否可以删除一些 JavaScript 代码?

      但是,我认为您的生产服务器有问题,因为加载页面所需的时间非常糟糕。作为用户,我会立即离开。

      【讨论】:

        猜你喜欢
        • 2011-11-08
        • 2015-04-19
        • 2011-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多