1 秒的首页,常常 0.7 秒都耗在同一段上。找出那一段。比调十个参数都有用。

手机打开网页很慢怎么办,先把五段耗时拆开看。

哪一段最长 它在这段时间里做什么 不满足时要看什么
解析把域名换成 IP换一家 dns 再开一次,看有没有变快
连接和服务器建立 tcp 连接流量和 wifi 各试,看是不是只有一个慢
握手tls 协商加密看地址栏有没有证书警告
首字节等服务器吐出第一个字节换网络还是慢,就往后端看
下载把页面内容搬回来数首屏图片张数和请求数

解析段占大头:换一台递归就能分出来

这一段只在开头发生一次。后面用的都是这个结果。

手机上换一家 dns。别的都不动。

再开一次。快了,问题就在原来那台递归上。

没变快,这一段就先排除,往下走。

连接段占大头:换网络各试一次

这一段是连到机房的那几步。来回三次。

用流量开一次。用 wifi 再开一次。

两个都慢,就是路远。换机房比调参数有用。

只有一个慢,先看那个网络的出口。

用宝塔拨测的网站测速跑一次,五段耗时是分开给的。

握手段占大头:看证书和协议

这一段只在 https 站点上有。多一到两次往返。

看地址栏有没有证书警告。看证书哪天到期。

有警告就先换证书。别去动缓存。

证书没问题。再看协议版本是不是太老。

首字节占大头:往后端看

这一段是请求发出去之后。等回话的时间。

手机换到另一个网络,还是慢。

那就跟手机、跟网络都没关系。是站点自己的事。

这一段慢,去看程序和数据库。别改前端。

下载段占大头:按体积和请求数算

这一段是内容往回搬。

先数首屏有几张图。再看最大那张多大。

再数首屏请求数。一百多个就要减,这是大致经验。首屏先减一半。

两样都降下来,这一段才会短。

五段都对不上:先怀疑手机和渲染

五段耗时都不长。用户还说慢。

这时候看三处。手机本身老。页面里有第三方脚本。地区覆盖不到。

那么换一台手机。换一个地区再测一次。

还是慢,再回头怀疑五段里被平均掉的那一小段。

有一处我还没确认:同一台手机 wifi 和流量都慢、换一台就快,这到底算渲染还是算网络。我手上没有能分开这两者的数据。