1.
准备阶段:确认测试目标与环境
- 明确测试IP/域名(例如:203.0.113.10 或 sg.example.com)。
- 确认测试源:本地机、云主机或直接SSH到新加坡服务器。建议至少两端可SSH互访。
- 安装工具:ping、traceroute(或 tracert)、mtr、iperf3、curl、tcpdump、hping3。Linux: apt/yum install iperf3 mtr hping3 curl tcpdump。
2.
基础连通性检测:ping与DNS解析
- DNS:nslookup sg.example.com 或 dig +short sg.example.com,确认解析到预期IP。
- ping:ping -c 10 203.0.113.10,观察丢包率、最小/平均/最大时延(min/avg/max)。
- 判断:丢包>1-2%或avg延迟高于业务SLA(例如>80ms)需进一步排查。
3.
路由追踪:分析路径与中间节点延迟
- traceroute -n 203.0.113.10 或 mtr -rw 203.0.113.10(mtr可实时展示)。
- 关注跳数中延迟突增或丢包点,记录出现问题的AS或IP用于与带宽提供方沟通。
- 注意防火墙或ICMP被丢弃的情况,必要时用tcptraceroute或 hping3 -S -p 80 来测试TCP路径。
4.
吞吐量测试:使用 iperf3 精确测量带宽
- 在新加坡服务器一端启动服务器:iperf3 -s。
- 在测试端运行:iperf3 -c 203.0.113.10 -P 4 -t 30(并发流4,测试30秒)。记录带宽、丢包与抖动(UDP模式使用 -u)。
- 多次测试并在不同时间段(高峰/非高峰)比较结果。
5.
应用层延迟:HTTP/HTTPS 及 TCP 建连时间
- curl 测试:curl -w "@curl-format.txt" -o /dev/null -s "https://sg.example.com"(或使用 curl -s -o /dev/null -D - -w '%{time_connect} %{time_starttransfer} %{time_total}\n' URL)。
- 用浏览器开发者工具记录DNS、TCP、TLS握手与TTFB(Time To First Byte)。
6.
抖动与丢包的细化检查
- 使用 mtr/iperf3 UDP 模式测抖动:iperf3 -c 203.0.113.10 -u -b 10M -t 60。
- 用 tcpdump 在服务器抓包:tcpdump -i eth0 host 测试端IP and port 80 -w /tmp/test.pcap,导出到Wireshark分析往返时间和重传。
7.
跨地域与第三方检测点验证
- 使用第三方探针:RIPE Atlas、Speedtest CLI 指定 Singapore 服务器或使用外部云(如AWS ap-southeast-1)作为测试源。
- 比对多点结果判断是源端、目标端还是中间ISP问题。
8.
自动化与长期监控
- 建立脚本定时执行 ping、mtr、iperf3,将结果写入日志并上传到监控系统(Prometheus + Grafana)。
- 设阈值告警:平均延迟、丢包、抖动超过阈值触发工单。
9.
问1:如何判断延迟是否来自新加坡服务器本身?
- 答:先从服务器本地发起对外ping/traceroute(例如 ping 8.8.8.8),若本地到外网延迟和丢包正常而外部到服务器高延迟,则问题在路径或外部ISP;若本地也高,则可能服务器网络接口、虚拟化宿主机或机房交换机问题。
10.
问2:如果中间某跳丢包但最终到达率正常,应当如何处理?
- 答:部分路由器为了降低负载会对ICMP响应进行限制,导致traceroute显示丢包但实际TCP连接可用。用应用层测试(curl/iperf3 TCP)验证服务可用性,并与承运商沟通同时提供抓包证据。
11.
问3:测试频率与记录保存有哪些建议?
- 答:建议最初密集测试(每小时)持续48小时覆盖高峰,之后每5-15分钟常规监控;保存原始日志和pcap至少14天,方便事后排查并支持向运营商提交证据。
来源:技术评估新加坡服务器租用托管 的网络连通性和延迟测试方法