1.
准备环境与所需工具
- 在本地或管理节点安装常用网络测试工具:iperf3、speedtest-cli、mtr、tcptraceroute(或traceroute),以及jq用于JSON解析。
- Debian/Ubuntu 安装命令示例:sudo apt update && sudo apt install -y iperf3 mtr traceroute python3-pip jq && pip3 install speedtest-cli
- 确认防火墙放行必要端口(iperf3 默认 5201);如果需要在日本节点做服务端测试,请在日本 VPS 上也安装并允许 5201 端口访问。
2.
基本手动测试流程(Ping / MTR / Traceroute)
- 先用 ping 检查延迟:ping -c 6 <日本目标IP>,观察平均延迟(rtt)。
- 用 mtr 做路径与丢包检查:mtr -rwzbc 100 <日本目标IP>,重点看丢包率和第几跳开始丢包。
- 用 traceroute 确定经过的中转节点:traceroute -n <日本目标IP>(或 tcptraceroute 用 TCP 避开 ICMP 限制)。
3.
带宽测试:iperf3 的使用与注意
- 在日本 VPS 上启动 iperf3 服务端:iperf3 -s -p 5201。
- 在测试端运行客户端向日本发起测试:iperf3 -c <日本VPS_IP> -p 5201 -P 4 -t 30,参数说明:-P 并发流数,-t 测试时长。
- 若检测到方向性差异,请分别在双方跑客户端来检测上下行差异(视 VPS 是否能反向跑测试)。
4.
Speedtest(Speedtest CLI)对比实际网速
- 安装 speedtest-cli(pip 或包管理器)。
- 列出日本附近测试服务器并选择最优:speedtest-cli --list | grep -i japan,记录服务器 ID。
- 指定服务器测试并输出 JSON:speedtest-cli --server
--json > speed_$(date +%F_%T).json,结合 jq 提取下载/上传/延迟。
5.
脚本化记录:将单次测试写入日志
- 示例 bash:
echo "$(date +%F\ %T), $(speedtest-cli --server --json | jq -r '.download,.upload,.ping')" >> /var/log/banwagong_cn2_jp.csv
- 说明:把 CSV 交给 Excel 或脚本绘图分析波动;每次记录包含时间、下载、上传、延迟。
6.
自动化检测脚本(定时 iperf3 + speedtest 集成)
- 示例脚本 /usr/local/bin/cn2_jp_check.sh(伪代码说明):
#!/bin/bash
DATE=$(date +%F_%T)
IPERF_RESULT=$(iperf3 -c -p 5201 -P 2 -t 15 --json 2>/dev/null)
SPEED_RESULT=$(speedtest-cli --server --json 2>/dev/null)
echo "$DATE,$(echo $IPERF_RESULT | jq -r '.end.sum_received.bits_per_second'),$(echo $SPEED_RESULT | jq -r '.download'),$(echo $SPEED_RESULT | jq -r '.ping')" >> /var/log/cn2_jp_monitor.csv
- 给脚本可执行权限:chmod +x /usr/local/bin/cn2_jp_check.sh,并测试运行一次查看日志格式。
7.
定时任务(Cron)与告警
- 编辑 crontab:crontab -e,并添加每 30 分钟运行:*/30 * * * * /usr/local/bin/cn2_jp_check.sh
- 告警思路:在脚本中判断阈值(如下载低于 50Mbps 或丢包>5%),则通过邮件或 webhook(企业微信/Telegram)发送告警。
8.
数据可视化与长期趋势分析
- 用简单工具导出 CSV 并用 Excel、Google Sheets 绘制时间序列。
- 若希望自动化绘图,可用 Python matplotlib 或 gnuplot,示例:python 脚本读取 CSV,绘制下载/延迟曲线并每天生成 PNG。
9.
进阶:多节点对比与路由切换测试
- 在多个搬瓦工节点(如不同套餐或不同机房)分别部署自动监控脚本,统一写入数据库或集中日志。
- 比较同一时间点不同节点的延迟与带宽,判断 CN2 GIA 到日本的稳定性与峰值差异。
10.
常见问题与排错小贴士
- 测试结果突然变差:先排查是否为本地限速(QoS/ISP)或日本 VPS 本身带宽被占用。
- 若 iperf3 报错连接被重置,检查防火墙和端口转发,尝试改用不同端口或切换到 TCP 测试。
11.
问:我如何选择日本测试服务器或IP作为目标?
- 回答:优先选同城或同机房的日本 VPS(有可控权限),用 speedtest-cli 列表筛选延迟最低的服务器;若只做到站点测试,选择几个大厂 CDN 的日本节点(如 google、amazon)作为对比。
12.
问:自动化脚本多久运行一次合适?
- 回答:监控建议 15-60 分钟一个周期,企业级需更频繁(5-10 分钟);频率取决于监测成本与对波动敏感度,注意避免频繁测试触发 VPS 或 ISP 限制。
13.
问:如何判断是 CN2 问题还是日本主机问题?
- 回答:通过双向测试(从搬瓦工节点到日本 VPS 与从日本 VPS 到搬瓦工节点)、查看中间跳点(mtr/traceroute)和同时比较多个日本目标,若多个目标在相同跳点出现问题,说明可能是 CN2 或中间骨干链路问题;若仅单一日本 VPS 异常,则可能是目标端问题。