在开始前明确测试目标:是测单台新加坡机房的连通性,还是比较多个 CDN/ISP 节点延迟、或验证 IPv4/IPv6 差异。准备内容包括:一台或多台测试端(本地电脑、云VPS)、目标新加坡服务器IP/域名、SSH 权限(若需部署工具)、以及常用工具(ping、traceroute/mtr、iperf3、curl、dig、speedtest-cli、hping3)。建议在 Linux 环境下操作,Windows 可用 PowerShell 或安裝相应工具。
列出你要测试的类型:机房(如 AWS ap-southeast-1、GCP asia-southeast1、Azure southeastasia)、主要 ISP(Singtel、StarHub、M1、ViewQwest)、和主要 CDN/IX(Cloudflare、Akamai、SGIX)。获取节点 IP/域名的方式:查官方文档、使用 DNS 查找(dig A/AAAA)、或通过 Looking Glass/Route Server 获取地区出口地址。记录每个节点的 ASN 与地理位置以便后续对比。
基本命令:ping -c 50 target(Linux/macOS)或 ping -n 50 target(Windows)。建议做多次(比如 5 次 50 包),并记录最小/平均/最大/丢包率。可用选项:-s 指定 ICMP 大小(测试分片影响),-i 间隔,-W 超时。示例:ping -c 100 -s 1200 -i 0.2 target。将结果导出到文本用于后续统计。
使用 traceroute -n target 或 mtr -rwzbc 100 target(mtr 会给出每跳丢包和延迟统计)。在 Linux 上推荐 mtr,因为它整合了连续采样。重点观察:第一个到达新加坡的公网跳数、在新加坡内部是否存在跨 ASN 跳数、以及某跳突然高延迟或丢包是否持续出现。如果看到星号或超时,尝试增加包大小或使用 TCP traceroute(tcptraceroute 或 traceroute -T)以避开 ICMP 被限制造成的误导。
在新加坡目标机(或附近节点)启动 iperf3 server:iperf3 -s。客户端测试:iperf3 -c
用 curl 测试 HTTP(S) 建连时间:curl -w "@curl-format.txt" -o /dev/null -s https://target/(自定义 format 文件包含 time_namelookup、time_connect、time_starttransfer 等)。这可以区分 DNS、TCP 三次握手、TLS 握手与首字节时间(TTFB)。针对 CDN 比较多个镜像域名,记录各项时间并计算中位数与 95 百分位。
丢包:用 ping/mtr 的丢包率作为初步判断;长期采样(每分钟 1 次)并保存到日志以计算长期丢包。抖动(jitter):可以用 rtt 差值的标准差来估计,或者用 ping 输出的 round-trip min/avg/max/mdev。对于实时应用,推荐使用 UDP iperf3 的抖动报告或使用 pscheduler/owamp 等工具做精确测量。
通过 traceroute 的每跳 IP 查询 ASN(whois 或 bgpview API),识别哪条链路跨越不同 ASN。使用 Hurricane Electric Looking Glass 或本地路由服务器查看 BGP 路由:查看邻居前缀、路由选择和多路径策略。若发现绕路(例如流量通过远程转发),联系 ISP 或使用 BGP 社区/备份路由策略优化。
答:要保证代表性,需做持续、分时段与多样化测试。持续:在不同时间段(工作日高峰、非高峰、周末)各做多次采样;分时段:至少做 24 小时或 7 天的周期测试;多样化:使用多个源(不同 ISP、不同地理位置)、多协议(ICMP/TCP/UDP)与不同包大小。统计时使用中位数和 95 百分位避免极端值干扰。
答:如果网络对 ICMP 限制导致 traceroute 或 ping 不准确,应改用 TCP/UDP 探测:使用 traceroute -T 或 tcptraceroute 指定目标端口(如 80/443),或用 hping3 模拟 TCP SYN 以测 RTT。此外,使用应用层请求(curl)检测实际服务延迟能更真实反映用户体验。
答:将上述命令写入脚本并放入 cron 或 systemd timer 定期执行,输出 CSV/JSON。可用工具:mtr --report、iperf3 --json、curl -w 输出格式。然后用 Python(pandas + matplotlib)或 Grafana + Prometheus 将数据入库并绘图。报告包含:节点清单、测试时间窗、中位/95P RTT、丢包率、路径变化与结论建议。