1.1 目标:测延迟(RTT)、抖动、丢包率、吞吐(TCP/HTTP)、路由(AS 路径)与 CDN 边缘选择。
1.2 环境准备:一台位于测试侧的 Linux/Windows 机器(公网 IP 或可访问测试服务器),如果可能准备一个位于台湾或大陆的对端服务器用于 iperf3。
1.3 账号与权限:能 sudo/管理员安装工具,能访问 CDN 域名与回源服务器 IP。
2.1 延迟:ping 返回的 min/avg/max(ms)。
2.2 丢包:ping 丢包百分比;影响用户请求重试。
2.3 抖动:连续 RTT 波动,影响实时应用。
2.4 吞吐:iperf3/TCP 下行与上行峰值(Mbps)。
2.5 路由/AS:traceroute/mtr 得到的跳数与自治系统路径,确认是否走 CN2。
3.1 必备:ping、traceroute(Windows: tracert)、mtr、iperf3、curl、httping、speedtest-cli。
3.2 Linux 快速安装(Debian/Ubuntu):sudo apt update && sudo apt install -y mtr-tiny iperf3 traceroute httping curl python3-pip && pip3 install speedtest-cli。
3.3 可选:tcpdump(抓包),whois(AS 查询),webpagetest 或 lighthouse 用于页面体验。
4.1 命令示例:ping -c 100 -i 0.2 example.cdn.domain 或在 Windows 用 ping -n 100 -w 200。
4.2 观察点:记录 min/avg/max/stddev 与丢包百分比。若丢包>1%-2%,需重复多时段测试。
4.3 建议:在不同时间段(高峰/非高峰)各跑 3 次并保存输出(重定向到文件)。
5.1 命令示例:traceroute -n example.cdn.ip 或 mtr -r -c 100 -n example.cdn.ip(生成报告)。
5.2 识别方法:查看路由中间跳的 IP 段与 AS(使用 whois ip 或在 bgp.he.net 查询);有些运营商会在路由备注中出现“CN2”或运营商名。
5.3 注意:部分节点对 ICMP 限制,使用 TCP-traceroute(traceroute -T)或 mtr 的 TCP 模式可更接近真实 TCP 路径。
6.1 iperf3:在对端运行 iperf3 -s,客户端运行 iperf3 -c server_ip -P 10 -t 60(P 并发流数)。记录 Mbps。
6.2 HTTP/HTTPS:用 httping -c 100 -s -r 10 https://example.cdn.domain 测试并发请求的响应时间与失败率;或用 curl 测试下载速度:curl -o /dev/null -s -w "%{time_starttransfer} %{speed_download}\n" URL。
6.3 注意 TCP 优化:测试前确认 MTU、TCP 窗口、拥塞控制不会在本地限制带宽。
7.1 建议字段:时间、节点位置、目标 IP/域名、ping_min/avg/max、丢包%、mtr 跳数与关键跳 IP、AS 路径、iperf 吞吐(Mbps)、http TTFB 与下载速率、测试条件(并发、时段)。
7.2 自动化:用脚本收集(ping -c 100 > ping.log;mtr -r -c 100 -n ip > mtr.log;iperf3 --json 输出解析为 CSV)。定期保存以便趋势分析。
8.1 单次测试结论不可靠:需多时段、多并发、不同节点重复。
8.2 本地带宽/CPU 瓶颈:测试机 CPU 或网卡达到瓶颈会掩盖真实链路性能,检查 iostat/top。
8.3 DNS 与 CDN 节点:相同域名不同解析返回不同边缘,先固定解析到目标 IP 测试再评估。
8.4 ICMP 与 TCP 差异:traceroute 使用 ICMP 的结果与 TCP/HTTP 实际路径可能不同,应用 TCP 模式或真实 HTTP 测试。
问:如何判断我测试到的路径确实走的是 CN2 链路?
答:先用 traceroute/mtr 获取整条路径,再对关键跳 IP 做 whois 或在 bgp.he.net 查询 AS 信息;如果路径中出现运营商在路由备注或 AS 与 CN2 相关的记录(或提供商客服确认),并且 RTT 与跨境经由 CN2 的典型延迟一致,可基本判定;同时用 BGP looking glass(如中国电信/联通的)比对路由即可进一步确认。

问:测试结果很不稳定,我该如何排查?
答:先排查本地因素(CPU/网卡/并发连接数、MTU、TCP 窗口),再做多时段重复测试、使用并发流(iperf3 -P),比较不同协议(ICMP/TCP/HTTP)的结果;若在特定跳出现波动,用 tcpdump 捕包比对重传与丢包情况,并联系链路两端运营商确认中间链路质量。
问:在评估 CDN 用户体验时,我应该关注哪些 HTTP 指标?
答:关注 DNS 解析时间、TCP 建连时间、TLS 握手时长、TTFB(首字节时间)、首屏/完整页面加载时间与失败率;用 WebPageTest 或浏览器的 Lighthouse 对比不同节点的真实加载流程,并结合 RUM(真实用户监控)数据获得最终结论。