1. 准备与目标说明
- 目标:对绿云香港VPS在不同接入运营商下的带宽与丢包率进行可复现对比测试;
- 要点:统一测试时间段、相同测试工具、足够样本数量、记录原始输出用于后续分析。
2. 测试环境与所需账号/权限
- VPS:一台绿云香港VPS(root权限),记录公网IP;
- 测试端:至少3个不同运营商的客户端(电信/联通/移动),可使用家宽/手机热点/其他VPS;
- 工具:iperf3、mtr、ping、traceroute(Linux),Windows可用iperf3、pathping、tracert。
3. 工具安装(Linux示例)
- 安装iperf3:apt install iperf3 -y 或 yum install iperf3 -y;
- 安装mtr:apt install mtr -y;确保防火墙开放iperf3端口(默认5201)。
4. 在绿云VPS上启动测试服务器
- 命令:iperf3 -s -1(单次连接)或 iperf3 -s (持续监听);
- 建议后台运行并记录:nohup iperf3 -s > /root/iperf_server.log 2>&1 &。
5. 带宽测试步骤(TCP)
- 客户端命令示例:iperf3 -c VPS_IP -t 60 -P 8;说明:-t 60 为60秒,-P 8 并行流数;
- 建议:每个运营商至少做5次不同时间段(峰值/非峰值)测试,保存输出到文件(iperf3 ... > result_ispA_tcp.txt)。
6. 带宽测试(UDP)与注意事项
- UDP命令:iperf3 -c VPS_IP -u -b 100M -t 60;说明:-b 指定期望带宽;
- 注意:UDP会显示丢包率与抖动,避免使链路长期饱和以免影响他人。
7. 丢包率测试(ping 与 mtr)
- ping(Linux):ping -c 200 -i 0.2 VPS_IP > ping_ispA.txt;记录丢包与延迟分布;
- mtr(综合路由+丢包):mtr -r -c 200 VPS_IP > mtr_ispA.txt;观察每跳丢包,判断丢包发生在哪一段。
8. 路由追踪与故障定位
- traceroute TCP(Linux):traceroute -T VPS_IP;或使用tcptraceroute;
- Windows:tracert VPS_IP;结合mtr输出,若中间某跳丢包但后续正常,可能该设备对ICMP限流。
9. 数据记录与格式化
- 原始文件保存:按 isp_time_tool.txt 命名;
- 提取关键字段(平均带宽、丢包率、平均延迟、抖动)到CSV:isp,datetime,tool,avg_bw(Mbps),loss(%),rtt_ms。可用awk/python脚本批量解析。
10. 对比分析方法
- 统计:计算每个运营商的均值、中位数、95百分位;
- 可视化:用Excel或Python绘制折线图/箱线图;重点看峰值时段差异与丢包集中时段。
11. 结果解读与定位要点
- 端到端丢包高:若mtr显示最后一跳高丢包,可能是VPS侧或出口链路问题;
- 中间某段丢包:通常是某运营商/中转链路问题;ICMP丢包不一定代表TCP丢包。
12. 优化建议与后续动作
- 若某运营商持续高丢包:联系绿云客服要求路由优化或更换出口链路(如CN2/直连线路);
- VPS端优化:开启BBR、调整tcp_mtu_probing、合理设置congestion control。
13. 常见误区与注意事项
- 不要只做一次测试就下结论;
- ICMP测试结果需与TCP/UDP流量结果结合判断;
- 测试时间段要覆盖高峰与非高峰以反映真实体验。
14. 问:如何判断丢包是本地运营商问题还是香港VPS问题?
- 答:用mtr或traceroute定位丢包发生的跳数;若首跳或靠近客户侧丢包,偏向本地网络;若末跳或靠近出口(跨境链路)丢包,可能是绿云或中转链路问题。持续多次测试并从不同地区/运营商对比以确认。
15. 问:采样多少次才够科学,测试间隔如何安排?
- 答:建议每个运营商至少5次以上,覆盖不同时间段(早/午/晚/深夜),每次测试持续60秒以上;对长期评估可做7天的周期采样,统计均值与95百分位。
16. 问:如果发现某运营商带宽稳但丢包高,该如何处理?
- 答:先确认丢包在何处(mtr),对方是中转链路则联系绿云日志与客服;本地问题可更换线路或使用备用上行(例如备份ISP或4G回传);同时可调整应用层重试策略和TCP参数降低丢包影响。
来源:绿云vps香港 实测带宽与丢包率对比不同网络运营商影响