1、明确测试目标:您想测试什么?
内网性能同一可用区内或跨可用区的云服务器之间的通信性能,这对集群、微服务部署至关重要。
外网入方向性能从互联网下载数据到云主机的速度(下载带宽)。
外网出方向性能从云主机上传数据到互联网的速度(上传带宽)。
网络延迟和稳定性到某个目标地址(如游戏服务器、用户所在地)的响应速度和波动情况。
2、选择正确的测试工具:
系统自带工具ping
,traceroute
(Windows 下是tracert
)
专业带宽测试工具iperf3
(最推荐),speedtest-cli
全方面网络探测工具mtr
(结合了ping
和traceroute
的功能)
3、注意事项:
关闭防火墙或放行端口测试前暂时关闭云主机和测试端的防火墙(iptables
,firewalld
, 安全组),或者确保测试所用端口(如iperf3
的5201
端口)已放行,否则无法得到结果。
多地点测试从不同地域、不同运营商的机器进行测试,模拟真实用户环境。
多次测试取平均值网络有波动,单次测试结果不具代表性。
这是最基本的测试,用于判断网络是否通,以及初步了解延迟和路由。
1、Ping 测试 (测试延迟和丢包)
命令ping <目标IP或域名>
示例测试到百度服务器的连通性。
ping baidu.com
解读结果
time=xx ms
延迟时间,值越小越好,同地域内网延迟通常 <1ms,国内公网延迟一般在 20-60ms。
packet loss
丢包率,理想情况下应为 0%,任何非零的丢包都意味着网络不稳定。
2、Traceroute 测试 (追踪路由路径)
命令traceroute <目标IP或域名>
(Linux) 或tracert <目标IP或域名>
(Windows)
作用显示数据包从你的云主机到目标服务器经过的每一跳(网络节点)及其延迟,当网络不通或延迟很高时,可以用它来排查问题出在哪个环节。
示例
traceroute google.com
这是测试网络速度的核心环节。
方法一:使用iperf3
(最专业、最准确)
iperf3
需要两台机器:一台作为服务器端(接收数据),另一台作为客户端(发送数据),它通过发送 TCP/UDP 数据流来精确测量带宽。
场景1:测试内网带宽(between two cloud servers)
1、在服务器端(Server)云主机上运行:
iperf3 -s
-s
表示以服务器模式启动,默认监听 5201 端口。
2、在客户端(Client)云主机上运行:
iperf3 -c <服务器端的内网IP地址>
-c
表示以客户端模式启动,并指定服务器地址。
3、解读结果:测试完成后,客户端会输出结果,重点关注sender
部分的Bitrate
(比特率),它显示了 achievable bandwidth。
[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver
* 如上结果表示带宽约为 941 Mbps。
场景2:测试公网带宽
方法与内网测试完全相同,只需将命令中的 IP 地址换为服务器端云主机的公网IP,并确保安全组和防火墙已放行 5201 端口。
高级用法:
-R
参数反向测试(测试服务器到客户端的带宽)。iperf3 -c <server_ip> -R
-u
参数使用 UDP 模式测试(测试丢包和抖动)。iperf3 -c <server_ip> -u
-t 30
参数指定测试时间为 30 秒(默认10秒)。iperf3 -c <server_ip> -t 30
-P 4
参数使用 4 个并行连接进行测试,更能压满带宽。iperf3 -c <server_ip> -P 4
方法二:使用speedtest-cli
(测试公网带宽)
这个工具会自动连接到公共的 Speedtest.net 服务器,测试云主机的公网下载和上传速度。
1、安装 (以 Ubuntu 为例):
sudo apt install speedtest-cli
2、运行测试:
speedtest-cli
3、解读结果:它会直接输出下载和上传速度,注意,这个结果受限于 Speedtest 服务器本身的位置和负载,通常用于快速验证公网带宽是否与购买规格大致相符。
mtr
是网络诊断的“瑞士军刀”,它持续向路由中的每一跳发送数据包,并综合统计延迟和丢包率,比单次ping
和traceroute
更能反映网络质量。
命令:
mtr -r -c 30 <目标IP或域名> > mtr_report.txt
-r
生成报告模式(否则会进入交互式界面)。
-c 30
发送 30 个数据包后停止。
> mtr_report.txt
将结果输出到文件,方便查看。
解读报告:
重点关注最后两列:Loss%
(丢包率)和Avg
(平均延迟)。
如果中间某一跳出现高丢包,可能是网络节点正常拥塞或策略(如限速 ICMP 包)。
如果最后一跳持续高丢包,说明到目标服务器的连接确实有问题。
测试目的 | 推荐工具 | 命令示例 |
基础连通性与延迟 | ping | ping target_ip |
路由路径追踪 | traceroute /tracert | traceroute target_ip |
带宽性能(最准) | iperf3 | 服务端:iperf3 -s 客户端: iperf3 -c server_ip |
快速公网带宽验证 | speedtest-cli | speedtest-cli |
网络稳定性与丢包 | mtr | mtr -r -c 100 target_ip |
一个典型的测试流程:
1、内网测试:创建两台同可用区的云主机,用iperf3
测试内网带宽,用ping
测试延迟,理想情况下延迟应极低(<1ms),带宽应非常高(如 10Gbps+)。
2、公网测试:
* 用speedtest-cli
快速验证公网带宽是否达标。
* 用iperf3
进行更精确的公网测试(需要另一台有公网IP的机器作为对端)。
* 从你的本地电脑向云主机公网 IP 做ping
和mtr
测试,评估从你本地到云服务的网络质量。
3、问题排查:如果发现延迟高、丢包或速度不达标,立即使用mtr
同时向云主机供应商和你的网络运营商提供报告,以便他们协同排查问题节点。
通过以上组合测试,您就可以全面、准确地掌握云主机网络性能的方方面面。
文章摘自:https://idc.huochengrm.cn/zj/14845.html
评论