1.
准备与采样原则
开始前请准备一台可以远程访问的管理终端(SSH),并保证测试时尽量排除本地网络干扰。采样要有时间范围(例如高峰/非高峰各30分钟),每次测试记录时间戳、目标IP、测试命令与参数,以便复现与提交给ISP/主机商。
2.
基础连通性检测(ping)
对目标(如VPS IP、默认网关、外部目标如8.8.8.8)进行多次ping:ping -c 30 -i 0.2 <目标IP>。观察平均延迟(rtt)、抖动与丢包率。若对网关延迟正常但到外部高,则问题更可能在上游或跨境链路。
3.
逐跳路径分析(traceroute / mtr)
使用mtr进行实时丢包与时延分析:mtr -rwzbc100 <目标IP>(-r生成报告,-w宽输出,-z按loss排序,-b显示比特)。或traceroute -n -I <目标>. 分析哪一跳开始出现高延迟或丢包,记录跳点IP与AS号。
4.
带宽与吞吐测试(iperf3)
在VPS上启动iperf3服务:iperf3 -s。远端客户端执行:iperf3 -c
-P 4 -t 60。若TCP吞吐低且延迟高,可能存在链路拥塞或流控问题。测试时尝试不同并发(-P)和双向(--reverse)来判断方向性问题。
5.
抓包分析(tcpdump / Wireshark)
抓包定位重传、RST、ICMP或丢包:tcpdump -i eth0 host <目标IP> -w /root/cap.pcap。注意在出现高延迟时段抓取,导出到Wireshark观察TCP重传、延时ACK、MTU导致的分片或ICMP不可达。
6.
MTU与分片问题检测
测试MTU:ping -M do -s 1472 <目标>(1472+28=1500),逐步降低直到不分片。若发现需要显著小于1500的MTU,可能是隧道/ISP链路(如MPLS、PPPoE)引起,临时解决可降低VPS网口MTU:ip link set dev eth0 mtu 1400(需重启服务前确认影响)。
7.
虚拟化与网卡参数检查
查看网卡卸载与中断绑定:ethtool -k eth0(offload),ethtool -S eth0(统计)。若开启GRO/TSO导致问题,尝试临时关闭:ethtool -K eth0 gro off tso off gso off,观察延迟变化。此外检查主机是否使用SR-IOV、virtio等驱动差异,必要时与主机商确认虚拟化层状态。
8.
系统资源与内核网络栈检查
查看CPU、磁盘、内存是否饱和(top、vmstat、iostat)。检查socket重传与拥塞:ss -s,ss -ti dst <目标IP>. 查看内核参数:sysctl net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_congestion_control,必要调整或启用tcp_mtu_probing:sysctl -w net.ipv4.tcp_mtu_probing=1。
9.
BGP/路由与上游链路排查
若mtr显示在运营商边界跳点开始延迟/丢包,使用互联网看玻璃(Looking Glass)或bgp.he.net查询AS路径,确认是否存在绕路或不良互联。记录出现问题的路由前后AS及时间,作为反馈给主机商/上游ISP的证据。
10.
DNS与应用层排查
排除DNS解析导致的“访问慢”:dig +trace +tcp <域名>。若延迟只在域名访问时出现而IP直接访问正常,则检查DNS解析链路或CDN回源策略。应用层检查包括TLS握手时间(openssl s_time)和HTTP响应头时间。
11.
定位为服务商责任时的证据收集与反馈模板
整理:1) mtr/traceroute结果(含时间),2) ping样本,3) iperf3吞吐结果,4) tcpdump抓包片段(含时间段)、5) 主机系统负载快照(top/ps),6) 网卡ethtool统计。发送给主机商并注明问题影响、时段、是否持续并请求路由/链路检查与告警。
12.
临时缓解策略与长期建议
临时:调整MTU、关闭网卡卸载、重启网络服务或迁移至同机房其他IP/节点测试。长期:要求服务商提供不同骨干出口或更换线路,或考虑多线备份/跨机房冗余与BGP多线策略。
13.
问:如果mtr显示某一跳丢包但后续跳恢复,是否可以忽略?
答:不一定可以忽略。部分运营商对ICMP限速会导致mtr显示中间跳有丢包但并不影响后续转发;关键是观察是否在目标处出现丢包或高延迟。如果目标端延迟正常且无丢包,可记录但无需迫切处理;若目标也受影响,应继续向上游追踪并提交证据。
14.
问:如何判断是VPS宿主机问题还是上游链路问题?
答:先在VPS上本地ping网关与外网,测试宿主机网口统计(ethtool -S)与CPU/IO负载;若本地网关已经高延迟或丢包,多为宿主/机房侧问题;若本地到网关正常但上游开始异常,多为ISP或跨境链路问题。结合iperf单向测试可进一步确认方向性。
15.
问:向主机商提交故障单时最关键的信息是什么?
答:时间段(含UTC/本地时间)、完整mtr/traceroute输出、ping样本(包含目标与网关)、抓包文件片段(cap.pcap)和系统负载快照。明确说明影响范围与重现步骤,要求他们检查宿主主机与上游路由器或提供路由调整记录。
来源:实战分享如何排查导致延迟超过100的香港vps常见原因