【问题标题】:Firebug Net Panel - "Request start time since beginning"Firebug Net Panel - “请求开始时间”
【发布时间】:2011-10-18 20:21:10
【问题描述】:

我正在分析目前在 localhost 上运行的 Web 应用程序的性能。为此,我正在使用 Firebugs 网络面板。我看过 Jan 对 Net Panel 时间线的精彩解释 - http://www.softwareishard.com/blog/firebug/firebug-net-panel-timings/。我还考虑了 YSlow 的建议,以更快地加载页面中的组件并使用更小的文件大小。但这仍然需要相当长的时间。

在上图中,工具提示显示第二个请求是在第一个请求后 171-15=156 毫秒开始的。

+171ms 请求开始的时间

为什么这么晚才发送请求?浏览器设置有问题吗?据我所知,Firefox 可以同时处理 6 个请求 - 为什么它不沿着第 2、3、4 个请求执行第 5 个和第 6 个请求?我可以做些什么来改进这一点,以便更早地处理请求吗?

谢谢

规格:

火狐:6.0.2
萤火虫:1.8.3
服务器:本地主机

第一个请求:HTML 文件
第二个请求:CSS 文件
第三个请求:JS 文件
第 4 个请求:JS 文件
第 5 个请求:GIF 文件
第 6 个请求:PNG 文件
第 7 个请求:PNG 文件
第 8 个请求:JS 文件
第 9 个请求:PNG 文件
第 10 个请求:JSON 文件
第 11 个请求:PNG 文件

【问题讨论】:

    标签: performance web-applications firebug yslow


    【解决方案1】:

    请求 3 和 4 是 javascript,默认情况下,javascript 在下载、解析和执行 UI 线程时会阻塞它。

    阅读@souders 的这篇文章,它会更深入地解释 (http://www.stevesouders.com/blog/2010/12/06/evolution-of-script-loading/)

    您可以尝试将 async 或 defer 属性添加到脚本标签,但它们仅适用于某些浏览器。另一种选择是将 js 移动到页面底部或像 Google Analytics 那样异步加载。

    【讨论】:

    • 在这个例子中,看起来第二个请求是针对 CSS 的,而且也被延迟了。这和js一样对待吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    相关资源
    最近更新 更多