1.
测试前的准备与环境确认
步骤1:确认你在TKO机房的服务器可以SSH登录(或控制面板可操作)。
步骤2:确认服务器操作系统(建议Ubuntu/Debian/CentOS),并获取root或sudo权限。
步骤3:检查当前网络配置:ip addr、ip route、/etc/resolv.conf。记录公网IP和默认网关。
步骤4:备份防火墙规则,确保远程工具端口(如iperf3默认5201)临时开放。
2.
必备测试工具安装清单
步骤1:安装基础工具:ping、traceroute、mtr(或traceroute6/mtr6用于IPv6)。命令示例:apt update && apt install -y iputils-ping traceroute mtr。
步骤2:安装iperf3用于带宽测试:apt install -y iperf3。
步骤3:安装speedtest-cli或使用Speedtest企业API:pip install speedtest-cli(可选)。
步骤4:准备远端节点(如AWS香港/东京/新加坡/GCP/阿里云)用于双向测试,或使用第三方Looking Glass/测站。
3.
第一部分:本地到机房的延迟基线(从管理端测试)
步骤1:在你的工作站(或公司内网)运行ping:ping -c 100
,记录平均、最小、最大与丢包率。
步骤2:运行traceroute -n (Linux)或tracert (Windows),记录经过AS/跳数与耗时峰值。
步骤3:若支持IPv6,重复以上命令为IPv6地址,比较IPv4/IPv6差异。
4.
第二部分:从TKO服务器向国际目标测延迟与路由
步骤1:在TKO服务器上ping -c 100 <国际目标IP或域名>(如8.8.8.8、google.com、你常用的香港以外业务节点)。
步骤2:运行traceroute -n <目标>与mtr -r -c 100 <目标>,保存输出为文本:mtr -r -c 100 <目标> > mtr_results.txt。
步骤3:分析跳数、每跳平均时延与丢包,重点观察到跨境链路(通常在本地ISP出境点)时延突增与丢包。
5.
第三部分:双向吞吐与抖动测试(使用iperf3)
步骤1:在远端测试节点(比如云主机)启动iperf3服务器:iperf3 -s。
步骤2:在TKO服务器做客户端测试:iperf3 -c <远端IP> -P 4 -t 60,记录带宽、丢包与抖动(UDP模式:-u)。
步骤3:反向测试:在TKO上启动iperf3 -s,让远端节点发起到TKO的测试以检测回程带宽与丢包。
步骤4:多次测试并在不同时段(高峰/非高峰)重复以得到稳定样本。
6.
第四部分:利用MTR定位抖动与丢包根源
步骤1:运行mtr -rwzbc 100 <目标>,参数说明:-r生成报告,-w宽输出,-z去除DNS,-b显示带宽信息,-c循环次数。
步骤2:观察输出中哪一跳出现丢包或延迟剧增,通常丢包靠近某一跳连续出现则说明节点问题;若最后一跳丢包高而中间跳低,可能是终端限流。
步骤3:将可疑跳的IP做whois/route查询,确定对应运营商AS并记录以便后续沟通。
7.
第五部分:跨国链路质量(多点互联)测试方法
步骤1:选择几个目标国家或地区(日本、新加坡、美国、欧洲)进行ping/iperf3/mtr测试。
步骤2:使用不同出口ISP或BGP社区策略(如机房提供商有多上游)测试路由差异。记录不同出口下的延迟与丢包率。
步骤3:若机房提供虚拟交换或VLAN,测试在不同VLAN/托管客户之间的互联表现以排除内部网络瓶颈。
8.
第六部分:应用层测试(HTTP/TCP握手)
步骤1:使用curl -w "@format.txt" -o /dev/null -s "http://目标域名/"测试DNS解析时间、TCP三次握手时间与内容下载时间。
步骤2:在不同地理位置使用curl或webpagetest.org API获取真实用户感知延迟(TTFB、完整加载时间)。
步骤3:对比TCP握手时间与ping RTT,若TCP时间显著高于ICMP RTT,考虑对端网络或丢包导致重传问题。
9.
第七部分:长期监控与自动化采集
步骤1:部署监控脚本(cron或系统d服务)定时执行ping/mtr/iperf3并将结果写入日志或Prometheus;示例cron:*/5 * * * * /usr/local/bin/netcheck.sh。
步骤2:脚本内容包含:时间戳、目标IP、平均RTT、丢包%、mtr摘要、iperf3的JSON输出(使用--json)。
步骤3:将日志上报到ELK/Prometheus+Grafana,建立告警规则(如连续3次ping丢包>5%触发告警)。
10.
第八部分:结果分析与常见问题定位
步骤1:统计不同时段的均值与95百分位延迟,识别高峰时段问题。
步骤2:若延迟在出境点突增,联系机房或上游ISP并提供traceroute/mtr结果与时间戳。
步骤3:若带宽测试不稳定,检查服务器网卡设置(ethtool、tx/rx speed、jumbo frames)与机架交换机端口配置。
11.
第九部分:优化建议清单
建议1:启用或优化BGP多线出站策略,使用最短ASN路径或指定BGP社区优先级。
建议2:和机房沟通是否有专门的国际出口或高清专线,必要时购买带宽或优先级。
建议3:优化服务器TCP栈(调整tcp_window_scaling、tcp_rmem/tcp_wmem)、使用CDN或本地缓存减低跨境流量。
12.
第十部分:测试报告撰写模板(便于提交给机房或上游)
步骤1:包含测试时间窗(含时区)、测试节点IP、工具与版本、命令与完整输出附件。
步骤2:提供图表(时延分布、mtr跳数图、iperf带宽曲线)并标注可疑跳与时间点。
步骤3:明确期待(比如“期望到新加坡延迟 < 30ms,当前95%位 45ms 丢包3%”)并给出请求(如路由优化/排查链路故障)。
13.
问:在香港TKO机房,正常的国际延迟范围是多少?
答:通常从TKO到香港本地节点延迟应低于5ms;到中国内地视区域在15–30ms;到日本/新加坡常见为20–40ms;到美国西岸(硅谷)约80–150ms,东岸更高。若实测值显著高于这些范围且伴随丢包,应进一步使用traceroute/mtr定位出境或上游链路问题。
14.
问:常见导致延迟高或丢包的原因有哪些,如何快速定位?
答:常见原因包括物理光缆故障、上游ISP拥堵、不良路由或BGP引流、机房交换/网卡配置问题以及防火墙限速。定位步骤:先用ping确认是否普遍高延迟,再用mtr定位出现问题的具体跳,最后结合whois/AS信息确认是哪个网络段的责任方并提交证据给机房或运营商。
15.
问:如何建立持续监控并在发生问题时自动告警?
答:部署定时脚本或使用现成监控系统(Prometheus + node_exporter + blackbox_exporter)周期性执行ping/mtr/iperf3并将指标写入Prometheus;在Grafana中建立仪表盘并设置Alert Rule(例如:连续5分钟丢包>2%或95%位延迟超过阈值),通过邮件/钉钉/Slack告警,附带最近traceroute和mtr日志以便快速定位。
来源:香港tko机房服务器 实测网络延迟与国际互联质量报告