网络性能测试
约 625 字大约 2 分钟
2026-08-29
网络问题分三层看:时延(ping)、链路质量(MTR,见本地与Linux服务器双向MTR测试)、带宽吞吐(iperf3)。前两者测"通不通、稳不稳",本文的工具测"实际能跑到多少"——判断带宽是否达标、限速是否生效、瓶颈在链路还是机器。
工具选择
| 工具 | 测什么 | 适用 |
|---|---|---|
| ping | 时延与基本连通 | 快速判断 |
| mtr | 逐跳丢包/时延 | 定位链路问题 |
| iperf3 | TCP/UDP 实际吞吐 | 带宽达标验证 |
| speedtest-cli | 公网整体体验 | 没有第二台测试机时 |
iperf3:带宽实测
需要两台机器(服务器 A 跑服务端,B 跑客户端),两端都要安装:
# CentOS
sudo yum install -y iperf3
# Ubuntu
sudo apt install -y iperf3安全组与防火墙放行 5201 端口(iperf3 默认端口,方法见Linux测试TCP-UDP端口连通性)。
服务端(A):
iperf3 -s客户端(B):
# TCP 上传测试,10 秒,4 个并行流
iperf3 -c A的IP -t 10 -P 4
# 反向测试(A → B 的下载方向)
iperf3 -c A的IP -t 10 -P 4 -R
# UDP 丢包测试(100Mbps)
iperf3 -c A的IP -u -b 100M -t 10结果看末尾汇总行的 sender/receiver Bitrate,例如 9.42 Gbits/sec。
结果怎么读
- 跑不到带宽规格:先确认计费与限速规则(见带宽计费模式),再检查两端网卡速率(
ethtool eth0的 Speed)。 - 单流慢、多流(-P 4)明显更快:高时延链路的正常现象(单条 TCP 受窗口限制),以多流结果为准。
- UDP 丢包率高:链路拥塞或超发,结合 MTR 判断丢包位置。
- 两端都是云内网时测的是内网带宽;测公网带宽请走公网 IP。
- 测速占满带宽会影响线上业务,按流量计费的机器注意流量消耗。
没有第二台机器
# speedtest-cli 用公共测速节点(走公网,结果含互联网波动,仅作参考)
sudo pip3 install speedtest-cli
speedtest-cli多跑几次、换不同时段对比;结果明显低于规格时,再用 iperf3 找一台可靠的测试机精确验证。
时延与丢包优先
带宽不达标但 ping/MTR 都正常时,瓶颈多半在两端的限速或配置;反过来,MTR 已显示某跳丢包,先解决链路问题再谈带宽。跨境/跨网链路的特性见跨运营商网络互联说明指南。
