1. 概述与目标定义
- 明确测试目的:比较互联先锋
新加坡机房(以下简称SG)与其他地区(如香港、东京、洛杉矶、法兰克福)在延迟、带宽、丢包和路由稳定性上的差异。
- 输出指标:往返时延(RTT)、吞吐量(Mbps/Gbps)、抖动(jitter)、丢包率、BGP路径长度、经由IXP/直连情况。
2. 测试环境准备
- 选择测试节点:在SG及目标国际机房各准备至少1台公网可达的测试主机(虚拟机或裸金属),建议Linux系统(Ubuntu/CentOS)。
- 确认权限:确保能安装软件(sudo),能运行iperf3、mtr、tcpdump、traceroute。准备SSH访问并记录公网IP与ASN。
- 安全注意:关闭无关防火墙或在防火墙允许测试端口(如iperf3默认5201)和ICMP。
3. 测试工具安装与校验
- 安装命令(以Ubuntu为例):sudo apt update && sudo apt install -y iperf3 mtr traceroute tcpdump.
- 校验步骤:在两端分别运行 iperf3 -v 和 mtr --version;使用ping互相Ping一次确认ICMP通路。记录时间同步状态(ntp/chrony)。
4. 带宽与吞吐量测试(iperf3)详步
- 步骤1(服务端):在目标机房运行:iperf3 -s -p 5201 -1,并记录输出。
- 步骤2(客户端):在SG运行:iperf3 -c <目标IP> -p 5201 -t 60 -P 4,参数说明:-t测试秒数,-P并发流。
- 重复与记录:分别从SG到每个国际节点做3次,取最大/平均值;双向测试(swap客户端/服务端)以确认不对称带宽。
5. 延迟、抖动与丢包测试(ping/mtr)步骤
- ping测试:ping -c 100 <目标IP>,记录平均、最小、最大RTT与丢包率。
- mtr测试:mtr -r -c 100 <目标IP>,保存报告(mtr -r -c 100
> mtr_sg_to_x.txt),分析中间跳点丢包与延迟突增位置。
- 核验抖动:用连续ping或iperf3 --udp进行抖动测量(iperf3 -c -u -b 100M -t 60)。
6. 路由与对等(Peering)分析步骤
- traceroute:traceroute -n <目标IP>,记录穿越的AS/IXP(可用whois或bgp.he.net反查ASN)。
- BGP检查:登录各机房提供商控制台或使用第三方(bgp.he.net、ris.ripe.net)查询SG与目标的路径及是否直连IXP。
- 判断点:若mtr显示第一个高延迟跳点即为出海链路问题,若在中间ASN有丢包,应与网络提供商协作。
7. 数据整理与对比方法
- 建立表格:为每对节点记录RTT_avg、RTT_min、RTT_max、吞吐量_avg、丢包%、抖动、主要跳点ASN、是否通过IXP。
- 可视化:用Excel或Grafana绘制折线图/箱线图,比较不同时间段(高峰/非高峰)的差异。
- 统计判断:通过多次测试取均值并计算标准差,若差异显著(如延迟相差>20ms或吞吐量差>30%),记录为性能差异点。
8. 常见问题定位与优化实操步骤
- 如果带宽不足:检查链路利用率、是否限速或TCP窗口,调整服务器TCP参数(sysctl:net.ipv4.tcp_rmem/tcp_wmem)。
- 若出现丢包或抖动:定位到具体ASN后联系互联提供商请求排查;临时可通过更改出口或启用备份线路改善。
- 对等优化:建议在主要流量方向开启直连或在当地IXP建立对等,提交ASN对等请求并验证流量走向变化。
9. Q1:如何一步步复现SG与洛杉矶机房的测试?
- 问:我想复制你说的测试,具体顺序是什么?
10. A1:复现步骤(简洁清单)
- 答:在SG和洛杉矶各准备一台Linux机器;安装iperf3/mtr/traceroute;在洛杉矶起iperf3服务端,SG为客户端做3次带宽测试;用ping和mtr各做一次100包的延迟/丢包检测;运行traceroute并记录ASN;整理为表格比较。若发现问题,按第8节优化步骤处理。
11. Q2:如何判断问题是机房内部还是国际链路?
- 问:延迟或丢包出现时,怎么判断问题源头?
12. A2:定位要点
- 答:用mtr查找延迟/丢包首次明显出现的跳点;如果问题在本地网段或机房出口附近,优先检查本地交换、VPC安全组或托管商;若在第三方ASN/海缆段,则需要联络上游运营商或使用备份出口。
13. Q3:测试频率与自动化建议是什么?
- 问:我应多久跑一次测试并如何自动化?
14. A3:测试频率与自动化实践
- 答:建议每天高峰与低峰各一次、并在发布或网络变更后立即测试。用cron调度脚本自动运行iperf3/mtr并把结果推送到中心Grafana/Prometheus或保存至S3,长期监控异常并设置告警(RTT或丢包阈值触发)。
来源:互联先锋新加坡机房与其他国际机房在互联性能上的比较