为什么浏览器加载网页很慢?很多人第一反应是清缓存、换浏览器。缓存只解决一小部分情况。

真正要先分的,是慢在传输还是慢在渲染。这两件事不在一条线上。

看到的现象 落在哪 先查什么
转圈很久才出内容传输段看五段哪段长
内容出来了但排版乱渲染看控制台报错
首屏一片空白下载或渲染先看下载段,再看控制台
只有某些页面慢页面本身按页面分组
只有某台电脑慢本机换设备对照

换个浏览器就快,说明是浏览器的问题吗?

不一定。换浏览器同时也换了缓存和扩展。

系统浏览器快、原来那个慢,才算浏览器的问题。

两个浏览器一样慢,问题在站点或链路。

换浏览器时最好也用同一个网络,不然两个变量一起动了。

要判断,得同一个网络、同一台机器、同一条地址。

五段里哪一段最长,才是真正的瓶颈吗?

五段是 dns、tcp、tls、ttfb、下载。

用一条命令打出来:

`` curl -o /dev/null -s -w 'dns=%{time_namelookup} conn=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' https://你的域名 ``

五个数是累计值,段耗时要相减。最长的那段就是主因。

一个人测只代表一条线。用宝塔拨测的网站测速多地区一起跑,按地区分组看,才分得清是局部还是全局。

只有这一台电脑慢,还要不要查站点?

先别查站点,先把范围锁在本机。

用手机流量再开一次。手机快、电脑慢,问题在这台机器。

换一台电脑也慢,范围立刻升到链路。

只有某个浏览器慢,再切一层:清缓存、禁扩展,各试一次。

还有一层容易漏:这台电脑是不是挂着代理或 VPN。挂着代理时,测出来的是代理的速度,不是你家宽带。

测速很快但页面还是慢,是谁在拖?

测速测的是传输,不测排版和脚本执行。

五段加起来一秒,用户体感五秒(举例),差的几秒在渲染侧。

去网络面板看瀑布:哪个资源排队、哪个脚本阻塞、有没有第三方在等。

两边对不上时,以体感为准查前端,别拿测速报告反驳用户。

首屏大图、字体文件、统计脚本,这三样最容易拖住渲染。

改的时候一次只动一处,改完再测一遍,否则说不清是谁起的作用。

有一点我没确认:浏览器扩展对同一个页面的影响有多大,我手上没有逐扩展的对照,只能按「全禁用再逐个打开」这个动作测。