打开网页很慢
打开网页很慢,很多人的第一反应是「宽带不够用」。可宽带只影响五段里的最后一段,前面四段跟它没关系。
下面七条是最常见的错判。每条后面给一条能当场核对的判据。
「慢就是带宽不够」
带宽只影响下载那一段。dns、tcp、tls、ttfb 都不吃带宽。
判据是先看下载段占几成。占不到一半,加带宽不会让页面快多少。一半是经验线。
「换个浏览器就好了」
<figure><img src="https://image.bt.cn/20261114/3bd11b66e47663b1dfd04d467388bbea.svg" alt="五段耗时都在一次请求之内,渲染在请求之外" loading="lazy" width="1200" /><figcaption>换浏览器只动右边那一层</figcaption></figure>
换浏览器改的是渲染那一层,前面四段一点没动。
判据是换完还慢。那就不是渲染那一层的事,回去看五段。
「清一下缓存就能解决」
清缓存改的是本机这一层,第一下往往更慢。
判据是清完第二下有没有回到原来。回到原来,说明本来是缓存的问题;没回到,跟缓存无关。
「加内存、换更好的服务器就能快」
内存和 cpu 只影响 ttfb 那一段。别的段跟它们没关系。
判据是 ttfb 有没有占一半以上。没占到,换机器是白花钱。一半也是经验线。
用宝塔拨测的网站测速跑一次,五段耗时是分开列的,先看最长那一段,再看它占几成。
「上了 CDN 就一定快」
CDN 改的是下载与就近接入。ttfb 长的时候,上 CDN 不会让后端快一点。
判据是 ttfb 与下载段各占几成。ttfb 占多数,就先别上 CDN。
「测出来很快,页面就一定快」
先看它测的是不是整页。页面要拉几十个请求,只测一个请求说明不了整页。
判据是报告里有没有请求数和总字节数。没有,两个数说的不是一回事。
「用户说慢,那就是站点慢」
用户那一端还有设备、Wi-Fi、运营商出口三层。
判据是同一个页面、同一时段,换一条网络跑一次。换完正常,问题在那条路上。
有一处我还没确认:各家报告里「总耗时」算到最后一个字节还是首屏渲染,定义不一样。我手上没有统一定义,所以对不上时,我以最长那一段的占比为准。