问题 A 部分—— (100 赏金,已获奖) 主要问题是如何让这个网站加载更快。首先,我们需要阅读这些瀑布。感谢大家对瀑布读数分析的建议。从这里显示的各种瀑布图中可以看出主要瓶颈:PHP 生成的缩略图。David 建议的从 CDN 加载的无协议 jquery 得到了我的赏金,尽管它使我的网站总体上只快了 3%,而且没有解决网站的主要瓶颈。是时候澄清我的问题了,还有另一个赏金:
问题 B 部分 ——(100 赏金,已获奖) 现在的新重点是解决 6 jpg 图像所存在的问题,这些问题导致大部分加载延迟。这 6 张图片是 PHP 生成的缩略图,很小,只有 3~5 kb,但加载速度相对 较慢 。注意各种图表上的“ 第一个字节的时间”。 问题仍未解决,但詹姆斯得到了赏金,他修复了 RedBot强调的标头错误: “一个 If-Modified-Since 条件请求返回了完整的内容不变。”.
问题 C 部分 (我的最后一次赏金:250 分) 不幸的是,在修复了 REdbot.org 标头错误之后,由 PHP 生成的图像引起的延迟仍然没有改变。这些微小的 3~5Kb 缩略图到底在想什么?所有这些标题信息都可以将火箭发送到月球并返回。非常感谢有关此瓶颈的任何建议并将其视为可能的答案,因为我已经被这个瓶颈问题困扰了七个月了。
[我网站上的一些背景信息:CSS 位于顶部。底部的 JS(Jquery、JQuery UI、购买的菜单 awm/menu.js 引擎、标签 js 引擎、视频 swfobject.js) 第二张图片上的黑线显示了启动加载的内容。愤怒的机器人是我的宠物“ZAM”。他是无害的,而且常常更快乐。]
负载瀑布:按时间顺序 | http://webpagetest.org
并行域分组 | http://webpagetest.org
Site-Perf 瀑布 | http://site-perf.com
Pingdom 工具瀑布 | http://tools.pingdom.com
GTmetrix 瀑布 | http://gtmetrix.com
首先,使用这些多个域需要多次 DNS 查找。您最好将其中许多图像组合成一个精灵,而不是分散请求。
其次,当我加载您的页面时,我在 all.js 上看到了大部分阻塞(约 1.25 秒)。我看到它以(旧版本的)jQuery 开头。您应该从 Google CDN 引用它,不仅可以减少加载时间,还可以完全避免对它的 HTTP 请求。
具体来说,可以在这些 URL 上引用最新的 jQuery 和 jQuery UI 库(如果您对我省略 的原因感兴趣,请参阅这篇文章http:):
http:
//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js //ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js
如果您使用默认的 jQuery UI 主题之一,您还可以从 Google CDN 中提取其 CSS 和图像。
优化 jQuery 托管后,您还应该将其合并awmlib2.js到tooltiplib.js一个文件中。
awmlib2.js
tooltiplib.js
如果您解决了这些问题,您应该会看到显着的改进。