手机打开网页很慢怎么办?先拆五段耗时
1 秒的首页,常常 0.7 秒都耗在同一段上。找出那一段。比调十个参数都有用。
手机打开网页很慢怎么办,先把五段耗时拆开看。
| 哪一段最长 | 它在这段时间里做什么 | 不满足时要看什么 |
|---|---|---|
| 解析 | 把域名换成 IP | 换一家 dns 再开一次,看有没有变快 |
| 连接 | 和服务器建立 tcp 连接 | 流量和 wifi 各试,看是不是只有一个慢 |
| 握手 | tls 协商加密 | 看地址栏有没有证书警告 |
| 首字节 | 等服务器吐出第一个字节 | 换网络还是慢,就往后端看 |
| 下载 | 把页面内容搬回来 | 数首屏图片张数和请求数 |
解析段占大头:换一台递归就能分出来
这一段只在开头发生一次。后面用的都是这个结果。
手机上换一家 dns。别的都不动。
再开一次。快了,问题就在原来那台递归上。
没变快,这一段就先排除,往下走。
连接段占大头:换网络各试一次
这一段是连到机房的那几步。来回三次。
用流量开一次。用 wifi 再开一次。
两个都慢,就是路远。换机房比调参数有用。
只有一个慢,先看那个网络的出口。
用宝塔拨测的网站测速跑一次,五段耗时是分开给的。
握手段占大头:看证书和协议
这一段只在 https 站点上有。多一到两次往返。
看地址栏有没有证书警告。看证书哪天到期。
有警告就先换证书。别去动缓存。
证书没问题。再看协议版本是不是太老。
首字节占大头:往后端看
这一段是请求发出去之后。等回话的时间。
手机换到另一个网络,还是慢。
那就跟手机、跟网络都没关系。是站点自己的事。
这一段慢,去看程序和数据库。别改前端。
下载段占大头:按体积和请求数算
这一段是内容往回搬。
先数首屏有几张图。再看最大那张多大。
再数首屏请求数。一百多个就要减,这是大致经验。首屏先减一半。
两样都降下来,这一段才会短。
五段都对不上:先怀疑手机和渲染
五段耗时都不长。用户还说慢。
这时候看三处。手机本身老。页面里有第三方脚本。地区覆盖不到。
那么换一台手机。换一个地区再测一次。
还是慢,再回头怀疑五段里被平均掉的那一小段。
有一处我还没确认:同一台手机 wifi 和流量都慢、换一台就快,这到底算渲染还是算网络。我手上没有能分开这两者的数据。