网站速度优化没有效果,有时候不是因为优化方向错了,是因为测量的方法本身就有问题。这种情况很隐蔽,团队一直在努力,数据一直没有改善,直到有一天发现测速的方法就一直是错的。
用错的工具,在错的时间测,出来的结果自然没有参考价值。这不是努力程度的问题,是方法正确性的问题。
测速工具的选择就决定了一半的结果
Google PageSpeed Insights、GTmetrix、WebPageTest、Pingdom——每个工具测出来的分数可能完全不一样。你用其中一个工具测出来分数很好,不代表真实用户感受到的速度也一样好。
因为这些工具模拟的环境不一样。Google的工具优先测的是移动端首次内容渲染,GTmetrix优先测的是完整页面加载。你优化了其中一个指标,另一个可能根本没动。
更关键的是:这些工具大多数是从固定的服务器节点测试的,不是从你的真实用户所在的地理位置测试的。你的用户可能在北京、广州、乌鲁木齐,测试节点可能在美国加州——这个数据差得就太远了。
还有一个问题:这些工具大多数只测试首页,你的内页速度可能是完全另一个故事。很多站点的首页加载很快,内页因为插件、第三方脚本、自定义内容的原因,速度差距很大。
测试时间的选择比想象中重要
白天测和凌晨测出来的结果可能差很多。工作高峰期服务器负载高,响应时间自然就慢。凌晨服务器空闲,速度就会快很多。
但你的真实用户主要在什么时间访问?你应该在那个时间段测试,而不是在服务器最空闲的时间测出一个漂亮的数字。
促销活动前的流量高峰,也是需要测试的时间点。很多时候你在促销前测速数据很漂亮,等促销真正开始了页面反而打不开,因为你没有测过真实流量冲击下的表现。
不同时间的测试数据对比,有时候会发现意想不到的问题。凌晨测速好,白天测速差——这个差距就是在告诉你,服务器在高负载下的性能没有保证。
真实用户监控才是标准答案
采集真实用户数据才是正道。Google Analytics里的页面速度报告,采集的是真实用户的感受,不是模拟环境。这个数据最重要,也最容易被忽视。
Chrome用户体验报告(CrUX)是Google提供的真实用户数据,基于全球真实Chrome用户的实测。这个数据比任何测速工具都更能说明问题。
很多团队不看这个数据,觉得GA里的报告不够详细,用第三方工具测完就结束了。真实用户数据被放在那里没人看,这才是问题所在。
先确认你的数据来源是对的,再去优化。方向比努力更重要,测量的方法不对,一切都是白费功夫。
优化这件事,不怕慢,怕方向不对。速度优化尤其如此——你花了一个月把一个指标优化了20%,结果那个指标根本不是真实用户在乎的,这才是最让人难受的。
有时候最贵的不是优化的那段时间,是找错了问题的那段摸索。数据是起点,方向对了才有意义,方向错了数据再漂亮也是假的。
网站速度这件事,最终服务的是真实用户,不是测试工具。用真实用户的数据做决策,比用任何工具都可靠。
先把尺子校准,再谈优化。
