1.
准备工作与前提检查
- 确认你有 VPS(美国 CN2 直连)和本地/另一台测试机的 root/管理员权限。
- 在 VPS 上安装必要工具(Debian/Ubuntu 举例):sudo apt update && sudo apt install -y iperf3 mtr traceroute hping3 tcpdump ethtool ifstat vim。
- 在本地也安装相应工具,Windows 可用 WinMTR、iperf3 for Windows、PowerShell 的 Test-NetConnection;关闭防火墙或开放测试端口(如 5201、443)。
2.
第一步:基础 ICMP 测试(ping)
- 目的:快速查看延迟与简单丢包。命令示例(Linux/macOS):ping -c 100 -i 0.2 -s 1400
。
- 说明:-c 发送次数,-i 间隔,-s 包体大小(试不同 MTU:1400、1472、1500)。记录 min/avg/max/mdev 与丢包百分比。
- Windows 示例:ping -n 100 -l 1400 。若 ICMP 被限流,则需用后续 TCP/UDP 测试确认。
3.
第二步:路径与每跳丢包(mtr / traceroute)
- 使用 mtr 获取逐跳丢包与延迟:mtr -r -c 100 -n (-r 报告模式,-c 循环次数,-n 不解析 DNS)。
- 若没有 mtr,可用 traceroute 查看路径:traceroute -T -p 80 (使用 TCP,端口 80 或 443)。
- 解释:若某一跳显示丢包但下一跳正常,通常是该跳设备对 ICMP 限制;若后续也降速或丢包,表示真实路径问题。
4.
第三步:带宽与 UDP 丢包(iperf3)
- 在 VPS 运行 iperf3 服务器:iperf3 -s。
- 在本地执行 TCP 测试:iperf3 -c -t 60 -P 4 -J > result.json(-t 时间,-P 并发流,-J JSON 输出用于分析)。
- UDP 丢包测试:iperf3 -c -u -b 100M -t 60(-u UDP,-b 期望带宽)。记录丢包、抖动(jitter)与带宽。若 UDP 丢包高,网络不稳或带宽被限。
5.
第四步:模拟真实 TCP 流量与重传检测(hping3 / tcptraceroute)
- 用 hping3 发送大量 TCP SYN 或带负载的数据:hping3 -S -p 443 --flood (仅短时测试,谨慎避免触发防护)。
- 更精确:hping3 -S -p 443 -c 10000 -i u1000 (发送 10000 包,每包间隔 1ms),观察丢包与响应。
- 使用 tcptraceroute 或 traceroute -T 看基于 TCP 的路径,确认防火墙/端口策略影响。
6.
第五步:抓包与包层面分析(tcpdump / Wireshark)
- 在 VPS 或本地抓包:sudo tcpdump -i eth0 host <对方IP> and port 5201 -w test.pcap(-w 保存为 pcap)。
- 用 Wireshark 打开 pcap,过滤 tcp.analysis.retransmission、icmp 等,查看重传、三次握手、RST、丢包时序。
- 注意网卡卸载(offload)可能影响抓包:可用 ethtool -k eth0 查看并临时关闭 offload:sudo ethtool -K eth0 gro off gso off tso off。
7.
第六步:长期监控与可视化(PingPlotter / Smokeping / cron)
- 为检测间歇性问题,部署长期监控:本地用 PingPlotter 或开源 Smokeping,对 VPS 连续 24-72 小时采样。
- 可用简单脚本定时 ping 并记录:for i in {1..43200}; do ping -c 3 >> pinglog.txt; sleep 2; done。分析丢包峰值和时间段。
- 结合 ifstat、sar 观察网卡利用率,排除因带宽饱和导致的丢包。
8.
第七步:结果判读与阈值建议
- 丢包率判定:0% 理想,0.1–1% 可接受(实时应用小心),>1% 需排查,>3% 表示严重不稳定。
- 延迟:CN2 直连到美西通常 100–180ms(视地区),抖动(jitter)应尽量 <10ms。
- 若 MTR 显示某跳持续高丢包且后续也受影响,向 VPS 商或上游运营商提交 traceroute/mtr 报告并要求排查。
9.
第八步:常见问题与排查建议
- 若 ICMP 丢包但 TCP 正常:优先用 TCP/UDP 测试判断真实用户体验;向运营商说明 ICMP 限制。
- 若带宽测试不稳定:排查 VPS CPU/网络接口瓶颈(top、dstat)、虚拟化限制(vNIC 限速)、路由策略(BGP 问题)。
- 收集证据(mtr 报告、iperf3 JSON、tcpdump pcap)统一打包发给客服或上游工程师。
10.
问答1:如何快速判断是本地网络还是 VPS 网络问题?
- Q: 本地访问 VPS 丢包,如何区分问题来源?
- A: 先在 VPS 上 ping 本地 IP 或第三方可靠节点(如 8.8.8.8)看出站是否正常;再从另一台独立网络(例如云端)对 VPS 进行相同测试。若 VPS 出站正常而入站被外网多点证实丢包,问题多为运营商/中间路由。
11.
问答2:使用 iperf3 测到丢包高,如何取证发给客服?
- Q: iperf3 显示 UDP 丢包高,客服需要哪些信息?
- A: 提供 iperf3 JSON 输出(-J)、mtr -r -c 100 -n 输出、tcpdump pcap(包含测试时段)、测试时间点和命令,标明是否用相同端口与多流并发,便于定位链路或防火墙问题。
12.
问答3:测试时需注意的安全与礼貌事项是什么?
- Q: 大流量/高频率测试是否会影响他人或被封禁?
- A: 是的。先告知 VPS 提供商并确认测试端口开放,避免持续 flood。短时间高强度测试前备份并在低峰进行,若触发 DDoS 防护或带宽警报,应立即停止并沟通。
来源:如何测试cn2直连美国vps 的网络稳定性和丢包率