1

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

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

+171ms 请求从开始开始的时间

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

谢谢

眼镜:

Firefox:6.0.2
Firebug:1.8.3
服务器:localhost

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

4

1 回答 1

2

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

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

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

于 2011-10-18T12:21:10.407 回答