资源有限时,网站打开速度优化不该从“把所有图片压一遍”开始,而应先找出影响最多访问者、且改动成本最低的瓶颈。判断顺序可以概括为:先看服务端响应,再看首屏关键资源,然后处理阻塞渲染的脚本与样式,最后才做全站图片和缓存微调。多人协作时,每一步都要留下可复查的数据,否则容易各改各的、反复返工。
不要同时打开十几个页面各测一次就下结论。选一个代表性页面,例如首页或流量最大的内容页,在固定网络条件下记录三项:服务器响应时间、首屏内容出现时间、页面主要资源加载完成时间。浏览器开发者工具的网络面板和性能面板都能看到这些数据。多人协作时,把测试页面、测试时间、网络条件写进同一份记录,避免有人用手机热点、有人用公司宽带,得出互相矛盾的结论。
观察阶段的检查项:
资源有限意味着不能追求满分,而要追求“同样一小时,让更多访问者感受到变快”。可以按下面这个顺序判断:
判断依据不是“哪个问题听起来高级”,而是“改完之后,多少页面、多少访问者会受益”。如果一个问题只影响某个低频页面,即使技术上有趣,也应排后。
多人协作最容易返工的地方,是几个人同时改图片、改脚本、改服务器配置,最后不知道是哪一步起了作用。建议按批次处理,每批只动一类:
每批改动前记录一次数据,改动后再记录一次。若没有变快,先回退再查原因,不要在同一批里继续叠加改动。假设某个内容页首屏有一张 2MB 的横幅图,改成合适尺寸后降到 300KB,首屏出现时间可能明显缩短;但如果服务器响应本身要三秒,只压图就不会有太大感觉。这说明先处理服务端更划算。
复查不是“感觉快了”,而是回到观察阶段那张记录表,对比同一页面、同一网络条件下的数据。需要确认:
如果复查发现某个改动没有效果,把它标记为“已尝试、无收益”,避免下次有人重复做。多人协作时,这份记录比口头结论更有价值。
资源有限时,交付物不需要很长,但要能让下一位同事直接接手。至少写清:测了哪个页面、当前瓶颈是什么、已经改了哪一批、复查结果如何、下一批建议做什么。这样即使换人处理,也不会从头再测一遍,减少返工。
下一步可以做的,是选一个代表性页面,按“服务端响应、首屏资源、重复请求”三项各记录一次数据,然后只处理其中影响面最大的一项,改完再复查。先完成这一轮,再决定是否继续下一批。