代码之家  ›  专栏  ›  技术社区  ›  deadprogrammer

如何测量页面加载速度?[关闭]

  •  34
  • deadprogrammer  · 技术社区  · 16 年前

    我正在尝试量化“网站慢度”。在过去,你只需确保你的HTML是轻量级的,图像优化和服务器不超载。在建立在现代内容管理系统之上的高端网站中,有很多变数:第三方广告、跟踪器和各种其他标注、cdn的性能(有趣的是,有时内容交付网络会使事情变得更糟)、javascript执行、css过载,以及各种服务器端问题,如长查询。

    显而易见的答案是,每个开发人员都要清除缓存并不断查看firebug插件的“net”部分。你还用过其他什么方法来衡量“网站拖屁股”?

    14 回复  |  直到 16 年前
        1
  •  29
  •   Will Brian Hodge    9 年前

    Yslow 是一个可以帮助您的工具(浏览器扩展)。

    yslow基于yahoo!分析web页面以及为什么它们速度慢!高性能网站的规则。

        2
  •  11
  •   Ido Schacham    16 年前

    Firebug ,是web开发人员必须具备的firefox扩展,可以测量不同元素在网页上的加载时间。至少可以排除css、javascript和其他需要花费太多时间才能加载的元素。

    如果您确实需要缩短javascript和css的加载时间,那么web上有各种各样的javascript和css压缩器,这些压缩器可以简单地从中去掉不必要的文本,比如换行符和注释。当然,为了开发的缘故,要保留一个普通的版本。

    如果您使用PNG,我最近遇到了一个PNG优化器,它可以缩小PNG大小,称为 OptiPNG 是的。

        3
  •  8
  •   kohlerm    16 年前

    “页面加载时间”通常不容易定义。 这取决于您使用的浏览器,因为不同的浏览器可能并行处理更多的请求,因为javascript在不同的浏览器中有不同的速度,而且渲染时间也不同。

    因此,您只能使用感兴趣的浏览器来真正测量真正的页面加载时间。 页面加载的结束也很难定义,因为页面上的所有内容都可见之后,可能会有一个ajax请求。这算不算页面加载?

    最后但并非最不重要的是,真正的页面加载时间可能没有那么重要,因为“感知性能”才是最重要的。对于用户来说,重要的是当她有足够的信息来继续

    Markus

    我不知道有什么方法(至少我不能告诉你:)可以自动测量你的页面感知加载时间。

    使用 AOL Pagetest 对于ie和yslow for firefox(链接见上文)可以让你在加载时间上有一种“感觉”。

        4
  •  5
  •   Ian    16 年前

    安装一个正确的调试代理(我完全建议 Charles )

    您不仅可以看到响应时间/大小的完整分解,还可以保存数据以供以后分析/比较,以及处理请求/响应等。

    (编辑:charles对调试soap请求的支持值了它的共享软件费用的一小部分——仅这一周就为我节省了整整半天的脱发时间!)

        5
  •  4
  •   futtta    14 年前

    我经常使用 webpagetest.org ,可用于在不同位置、不同浏览器(尽管仅限MSIE 7-9)上执行不同设置(迭代次数、连接速度、首次运行与第二次访问、如果需要,排除特定请求、凭据等)的性能测试。

    结果是 a very detailed report of page loading time 这也为如何优化提供了建议。

    它真的是一个伟大的(免费)工具!

        6
  •  4
  •   UBIK LOAD PACK    13 年前

    上次我在一个大容量网站上工作时,我们做了几件事,包括:

    如果你想看一眼,就说 第一次逼近,我会和YSLO一起 看看你的应用程序中影响页面加载时间的主要因素是什么。

        7
  •  3
  •   f4nt    16 年前

    好吧,叫我老古董但是…

    时间旋度-l http://www.example.com/path

    在linux中:)除此之外,我还是前面提到的yslow的忠实粉丝。

        8
  •  3
  •   Simon Steinberger    9 年前

    页面速度 是谷歌的在线检查工具,非常准确可靠:

    https://developers.google.com/pagespeed/

        9
  •  1
  •   dove    16 年前

    如果是asp.net,则可以使用trace.axd。

    雅虎提供的yslow非常适合检查javascript

        10
  •  1
  •   James Gardner    16 年前

    如前所述。

    把这个和小提琴结合起来。如果您想查看哪些页面对象占用的带宽最多,哪些页面对象在服务器上被压缩,意外的往返,以及哪些页面对象被缓存,这是很好的。与服务器和客户机之间的时间相比,它可以让您大致了解客户机web浏览器中的处理时间

        11
  •  0
  •   bh213    16 年前

    Apache Benchmark 是的。使用

    ab -c <number of CPUs on server> -n 1000 url

    得到你的页面速度有多好的近似值。

        12
  •  0
  •   TimB    16 年前

    Safari ,和 Network Timeline (在“开发”菜单下提供,您必须特别启用)提供有关单个页面组件加载时间的有用信息,以及显示每个组件何时开始加载。

        13
  •  0
  •   Jilles    16 年前

    yslow很好,httpwatch for ie也很好。但是,对于用户来说,这两个都错过了最重要的指标“页面是什么时候”- 在褶皱之上 -准备好供用户使用了吗?”我想还没解决…

        14
  •  0
  •   Mouli    14 年前

    显然有几种方法可以识别响应时间,但挑战始终是如何测量在浏览器中花费的渲染时间。

    我们有一个受控的测试阶段,在这个阶段我们使用几个自动化工具来测试应用程序。我们从这个测试中生成的输出之一是每个事务的fiddler跟踪(单击)。然后,我们可以分析fiddler跟踪以了解最后一个字节的时间,并将其与页面所用的总时间相减。

    像这样的东西 一。A=由自动化工具测量的总响应时间(在我们的案例中,我们使用qtpro) 2.B=到最后一个字节的时间(服务器+网络时间,来自fiddler跟踪) 三。C=A-B(大约渲染时间,或在浏览器中花费的时间)

    我解释的所有这些都可以成为一个标准的测试过程,测试结束时,我们可以生成在每一层上花费的时间的分解,例如渲染时间、网络时间、数据库调用等等。

    推荐文章