准备至少两台机器:一台位于测试端(中国/本地用户),一台位于海外目标(马来西亚 CN2 节点或提供商的 VPS)。两台都需具备 root 权限并允许开通相关端口。安装工具:ping、mtr、traceroute、iperf3、speedtest-cli、tcpdump、wireshark(可选)。记录测试时间、带宽上限、双方公网 IP 和测试节点名称。
先用 ping 和 traceroute 确认连通并记录延迟波动:ping -c 100 -i 0.2 <目标IP>,traceroute -I <目标IP> 或使用 mtr -r -c 100 <目标IP> 生成稳定统计。保存输出为文本:ping/pinglog.txt、mtr_report.txt。
使用 ping 长时间采样分析抖动和丢包:ping -c 1000 -i 0.2 <目标IP>,统计平均(avg)、最小(min)、最大(max)和丢包率。用 mtr 获取每跳的丢包与延迟分布:mtr -c 1000 -r <目标IP>。将结果导出并绘图(Excel 或 Python matplotlib)以便观察峰值与波动周期。
在目标服务器上启动 iperf3 服务:iperf3 -s -p 5201。客户端使用并发流与较长时长测试:iperf3 -c <目标IP> -p 5201 -P 10 -t 60 -i 10。记录每秒带宽与重传(retrans)指标。多做 3~5 次取中位数,分别在不同时间段(高峰/非高峰)重复。
UDP 模式用于模拟实时应用:在客户端执行 iperf3 -c <目标IP> -u -b 200M -t 60 -P 2,逐步增加 -b(带宽)直到丢包开始显著上升,记录丢包率与延迟。结合 hping3(hping3 --udp -p 端口 --flood)可做更细粒度延时抖动测试,但需谨慎避免对目标造成影响。
在任一节点用 tcpdump 捕获测试流量:tcpdump -i eth0 host <对端IP> and port 5201 -w iperf_test.pcap。用 Wireshark 打开 pcap,检查 TCP 三次握手、拥塞窗口变化、重传原因(拥塞丢包或链路丢包)、RTT 分布。提取对比 iperf 报表与 pcap 中的实际吞吐。
为便于比较,按相同时间段、相同并发数和相同测试时长归一化结果。报告至少包含:测试节点信息、测试时间、工具与命令、ping/mtr 平均延迟与丢包、iperf 吞吐中位数与最大值、udp 丢包阈值与抖动。建议附上原始日志与 pcap 下载链接。
排查本地影响:关闭防火墙、禁用流量整形、检查 MTU/链路层错误(ifconfig 或 ethtool),在服务器端禁用 TCP offload(ethtool -K eth0 tso off gso off gro off)以避免误判。对比同一供应商不同机房结果可判定是线路问题还是节点问题。
建议标准:连续 24 小时内平均延迟波动(max-min)小于 20ms、丢包率低于 0.5%、TCP 吞吐在高峰与非高峰差异小于 20%。如果满足这些条件,可认为线路稳定且适合常规业务。
答:在家用机上保证有线连接、关闭其他占用带宽的应用,使用 ping -c 1000 -i 0.2 <目标IP> 和 mtr -r -c 1000 <目标IP> 采样,分白天/夜晚多次采样并保存输出,用 Excel 或脚本计算平均、抖动与丢包率。
答:频繁重传通常指链路丢包或拥塞。先用 tcpdump 抓包看是链路丢包(ACK 丢失)还是拥塞引起的窗口缩小;同时检查两端网卡配置、MTU、运营商限速或队列管理(QoS)策略。
答:将候选提供商在同一时间窗口、相同测试脚本下的延迟、抖动、丢包与吞吐做横向对比。优先选延迟低且波动小、丢包低且吞吐稳定的提供商,同时结合客服响应与历史 SLA 数据作最终决策。