搬瓦工网速慢、延迟高、丢包怎么办?Ping、MTR 和路由排查

搬瓦工网速慢、延迟高、丢包怎么办?Ping、MTR 和路由排查
搬瓦工运维与建站教程 · Ping、MTR 与双向排查

同一台搬瓦工 VPS,白天下载正常,晚上明显变慢,原因未必在服务器配置。也有另一种情况:Ping 数值很好,网页仍要等几秒,真正耗时的是应用和数据库。先把网络、协议和业务处理分开,才能避免换机房后问题依旧。

本文的命令用于诊断你自己的服务器或获得授权的测试端点。示例域名和保留 IP 不能直接当测速节点使用;先换成真实目标。SSH 单独报认证失败时,应转到 搬瓦工 SSH 连接不上怎么办?完整排查方法,不必重新测整条线路。

一、先排除本地和域名的影响

先问:哪一段变慢了
一次 Ping 不能代替完整性能结论。

先暂停本地大下载,区分有线与 Wi-Fi,确认是否经过 VPN、系统代理或浏览器代理。再用手机热点等独立接入做一组对照,不要在同一路由器上换两台电脑就认定是两个网络。

使用域名时,确认解析得到的是 VPS 还是 CDN。经过代理的域名返回边缘地址并不异常,但此时 Ping 测到的不是源站路径。IPv4 与 IPv6 也要分别记录,不应把两者混成一个平均值。

# Linux/macOS;换成你自己的主机名
ping -c 30 your-vps.example.comWindows 的 PowerShell / CMD
ping -n 30 your-vps.example.com

Ping 无回复可能是 ICMP 未放行或被限速。业务 TCP 正常时,不能把“Ping 不通”直接等同于 VPS 离线。

二、用 MTR 看路径,先学会读终点

MTR 的中间丢包如何读
路由图反映探测结果,不是链路故障判决书。

在 Linux 测试端安装并运行:

sudo apt install mtr-tiny
# ICMP 路径
mtr -n -r -w -c 50 your-vps.example.com
# 以自己的 HTTPS 服务作为 TCP 目标
sudo mtr -n -r -w -c 50 -T -P 443 your-vps.example.com

MTR 支持不同探测方式。TCP 测试的目标端口应是实际提供服务的端口;不要对未开放端口的结果作可用性保证。IPv6 可加 -6,与 IPv4 单独保存。[1]

某个中间节点显示 80% 丢包,而后面节点和终点基本不丢,可能只是该路由器减少对探测包的回应。若从某处开始后续终点也持续丢包,才更值得进一步核查,但仍要结合不同时间、协议和路径变化。

最后一跳本身不回应探测时,不能用那一行宣判业务不可用。应继续请求网页或测试真实 TCP 服务。

三、去程与回程不要混在一起

从家里对 VPS 运行 MTR,得到的是本地向 VPS 发出的探测路径,不是完整的 VPS 回程线路。需要从 VPS 对自己的可达端点再做反向测试;家庭宽带处于 NAT、没有开放端口或不回应探测时,反向测量可能不完整。

能使用同地区、同运营商的独立测试点作为补充,但必须注明它不是你的家庭线路。选机房资料可看 搬瓦工全部机房代码、线路、测试IP和迁移关系汇总,不要把其他城市用户的一次结果当成本地长期表现。

四、网页慢时分解 DNS、连接、TLS 和首字节

curl -o /dev/null -sS --connect-timeout 8 --max-time 30 \
  -w 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' \
  https://your-site.example.com/

这些时间大多是从请求开始计算的累计时间点,不是可以直接相加的分项。比如 TLS 阶段可参考 time_appconnect - time_connect;首字节还包括请求传输和服务器处理,不能直接叫“数据库耗时”。重定向、复用连接和缓存也会影响比较。[2]

DNS 很慢,优先排查解析;建立连接和 TLS 很快,但首字节明显延后,则对照 Web/PHP/数据库日志。只要 TTFB 慢就换线路,可能买单的却是一个慢查询。

五、怎样测试源站,避免把 CDN 当 VPS

# 将域名和 192.0.2.10 替换为你自己的域名与源站地址
curl --resolve your-site.example.com:443:192.0.2.10 \
  --connect-timeout 8 --max-time 30 -I https://your-site.example.com/

--resolve 保留域名、Host 与 TLS SNI,临时指定连接地址。它不会修改公开 DNS。不要用 -k 跳过证书校验来掩盖源站证书错误;若源站只允许 CDN 回源,需要为诊断安排受控通道,而不是直接清空防火墙。[2]

六、下载速度怎样比较才有意义

把测试条件固定下来
测速也会消耗流量,不要无限循环下载。

只下载你拥有或授权的固定测试文件,控制总次数和大小。记录单连接速度,再根据业务需要比较有限并发;并发更快,只说明多个连接在该条件下利用了更多吞吐,并不意味着每个真实用户的单连接同样快。

测速前留意剩余流量,参考 搬瓦工流量用完怎么办?流量统计和重置时间。Mbps 与 MB/s 的单位不同,理想换算还未扣除协议开销;1Gbps 端口也不是承诺到每个运营商都持续获得相同速度。

不要在 VPS 上一边压缩、跑数据库导入,一边做下载对比。系统 CPU、内存和磁盘瓶颈会掺进结果,尤其是加密连接和小配置实例。

七、从现象选择下一步

现象优先核查不宜直接做的事
只有本地 Wi-Fi 慢接入质量、拥塞、代理迁移 VPS
晚高峰终点持续丢包不同时段和双向路由只换 DNS
Ping 正常,TTFB 高应用、CPU、数据库宣称线路坏了
IPv4 正常,IPv6 异常地址、路由、监听与防火墙把两者统计混在一起
IP 能连,域名不能连DNS、证书、CDN 回源重装整个系统

已确认是机房与本地链路不合适,再评估 机房迁移。迁移前记录地址与 DNS、备份数据,确认目标是否在当前套餐可迁移范围内,不把迁移当成保留原 IP 的操作。

八、怎样整理一次有效的网络报障

提交工单前整理什么
住宅网络不能被反向探测时,说明限制,不伪造回程。

准备问题时间和时区、接入地区与运营商、VPS/机房标识、目标端口、两三个短时样本,以及一份正常时段对照。存在 VPN、公司网关或 CDN 时也要写清楚,避免支持人员把不同路径当成同一链路。

报告中的公网地址可能涉及个人接入信息,公开发表前做脱敏;提交给支持时再保留诊断所必需的部分。不要给任何人完整 API Key、SSH 私钥或 root 密码。

常见问题

中间节点丢包很高,要立即换机房吗?

先看后续节点和终点,并用真实业务请求验证。中间设备可能只限制探测回应。

BBR 能解决所有网速问题吗?

不能。它不改变机房位置,也不能修复本地 Wi-Fi、错误 DNS 或应用慢查询。

为什么测速网站很好,自己下载却慢?

测试服务器、连接数、路径与时段都可能不同。应使用同一目标和相同条件对照。

相关阅读

微信订阅号

VPS收割者微信公众号

QQ群(全员禁言)

VPS收割者QQ群(全员禁言)