用户打开网站,如果三秒内看到主要内容,他大概率会留下来。超过这个时间,走的人会明显增多。这个限制不是设计偏好,是用户耐心的实际水平。
来看这三秒里发生了什么,以及哪些环节最容易拖后腿。
一、三秒里要完成的事
第一步是建立连接。用户输入网址之后,浏览器要找到服务器地址并建立通信。这一步快的几十毫秒,慢的可能到一秒。
第二步是服务器处理。服务器收到请求后,要执行程序、查询数据、组装页面。这一步的时间取决于服务器的性能和程序的写法。
第三步是传输。页面内容从服务器传到用户设备,大小和网络速度决定耗时。
第四步是渲染。浏览器把收到的内容画出来,还要加载样式、图片、脚本。这一步最容易被低估,因为要加载的资源往往有几十个。
二、最常超时的几处
首页大图是第一大元凶。一张没有压缩的高清大图几兆,用户网络稍差就要等好几秒。压缩到合理尺寸,这一项能省掉最多时间。
外部资源过多是第二个。页面上引用了统计代码、客服插件、地图、字体库,每一项都要单独请求一次外部服务器。外部服务响应慢,整个页面就卡在那里。
服务器性能不足是第三个。便宜的虚拟主机处理能力有限,同时来几个人就响应慢。这一点在流量上涨时最明显。
数据库查询没优化是第四个。首页要展示好几块内容,每个都单独查一次数据库,累计起来时间不短。
三、见效最快的几项优化
压缩图片。这一步不需要改代码,换一下文件就行,效果最明显。所有图片按实际显示的尺寸导出,该压的压缩。
开启浏览器缓存。用户第二次访问时,样式和脚本直接从本地取,不用重新下载。这个设置一次配好,长期受益。
减少外部资源。仔细看一遍首页引用了多少外部的东西,能去掉的去掉,能合并的合并。统计代码可以放到页面加载完之后再执行,不占用首屏时间。
用内容分发。如果用户分布在不同地区,把静态资源放到内容分发网络上,让用户从就近的节点获取。这一步对远离服务器所在地的用户改善明显。
四、怎么测才准
不要只在自己电脑上测。自己电脑有缓存,网络又快,测出来的数字没有参考价值。要清掉缓存再测,并且用手机网络测一遍。
用工具测多次取平均。不同时间点测出来的结果差异不小,测五次取中间值比较可靠。
要测不同地区。同样一个网站,本地用户打开一秒,外地用户可能要三秒。如果有外地客户,一定要从外地测一下。
优化之后要有对比。把优化前后的数字记录下来,才知道哪一项起了作用。没有对比,容易做了很多改进却不知道哪个有效,后续也不知道该继续优化哪里。
下一篇网站的栏目结构与网址规划
