服务器网络带宽测试工具怎么用?新手从安装到结果分析全流程
服务器网络带宽测试工具怎么用?新手从安装到结果分析全流程
刚买了一台云服务器,或者感觉网站变慢了?
最直接的办法就是用服务器网络带宽测试工具跑一次测速。
这类工具能帮你确认当前的上传/下载速度、延迟和丢包率,是排查网络瓶颈的第一把钥匙。
本文从零开始,带你在 Linux 服务器上用两款最常用的工具完成完整的带宽测试。
准备工作:先确认你的环境和权限
- 拥有一台 Linux 服务器(CentOS 7/8、Ubuntu 20.04+ 或 Debian 10+ 都行)。
- 能通过 SSH 登录(Windows 用 Xshell / Putty,Mac 或 Linux 直接终端)。
- 确认你是 root 用户或拥有 sudo 权限(非 root 用户需在命令前加 sudo)。
- 服务器公网 IP 能正常上网(如果服务器在国内,测试目标建议选国内节点)。
第一步:安装并运行 speedtest-cli(快速测速)
speedtest-cli 是基于 Ookla SpeedTest 的命令行版,无需注册,安装后一条命令就能测出下行、上行和延迟。
安装命令(二选一)
方式一:用 Python 包(通用)
# 先确保已安装 Python 3 和 pip
sudo apt update && sudo apt install -y python3 python3-pip # Debian/Ubuntu
sudo yum install -y python3 python3-pip # CentOS
# 安装 speedtest-cli
sudo pip3 install speedtest-cli
方式二:用官方一键脚本(推荐新手)
curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash
sudo apt-get install speedtest
执行测速
直接运行:
speedtest
等待 30-60 秒,你会看到类似输出:
Download: 245.12 Mbps
Upload: 38.76 Mbps
Latency: 23.41 ms
关键指标解释:
- Download:服务器从公网下载数据的速度,影响用户访问你网站时的加载速度。
- Upload:服务器上传数据的速度,影响你向服务器传文件、或者网站向外发送数据。
- Latency:延迟,越小越好,通常低于 50ms 算优秀。
第二步:用 iperf3 做双向压力测试(更专业)
speedtest-cli 测的是服务器到特定节点的极限速度,但如果你需要评估两台服务器之间的互访带宽,或者想排除路由瓶颈,就用 iperf3。
安装 iperf3
sudo apt install -y iperf3 # Debian/Ubuntu
sudo yum install -y iperf3 # CentOS
服务端(被测试端)启动
在另一台服务器或同一内网的机器上运行:
iperf3 -s -p 5201 &
-s表示服务端模式,-p指定端口(默认 5201)。- 防火墙需放行该端口(例如宝塔面板 → 安全 → 添加端口规则)。
客户端(测试发起端)执行
在你当前的服务器上运行:
iperf3 -c <服务端IP> -p 5201 -t 30
-c指定服务端 IP,-t测试持续秒数(建议 30 秒以上)。
输出末尾会显示带宽、重传率和抖动:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-30.00 sec 1.83 GBytes 524 Mbits/sec 12 sender
[ 5] 0.00-30.00 sec 1.83 GBytes 523 Mbits/sec receiver
重点看 Bitrate(带宽)和 Retr(重传数)——重传率过高(比如每秒几十次)说明网络质量不好。
第三步:理解测试结果并避开常见陷阱
常见误区
- 测速时不要跑其他大流量任务(如备份、下载),否则结果不准确。
- 云服务器有出站/入站带宽限制(比如阿里云轻量服务器上行 30Mbps,下行 100Mbps),测速结果不会超过购买时的限制。
- 使用 speedtest-cli 时如果提示“无法连接”,可能是服务器没有安装 ca-certificates 包,执行
sudo apt install ca-certificates即可。 - iperf3 两端防火墙都需放行端口,且服务端和客户端的 iperf3 版本要一致(建议都用最新版)。
高频问题解答
Q:为什么我测出的带宽只有 10Mbps,但我买的是 100Mbps?
A:先检查是否通过内网 IP 测速(iperf3 如果用内网 IP 只测内网带宽)。也可以用 speedtest-cli 测公网,如果公网结果也只有 10Mbps,联系云服务商检查是否被限速。
Q:服务器在国内,如何测海外带宽?
A:用 iperf3 指向一个海外的 VPS 做服务端;或者用 speedtest-cli 的 --server 参数指定海外节点 ID(如 speedtest --server 12345)。
效果验证:你该关注什么
完成以上测试后,你应该能回答这几个问题:
- 当前服务器的公网下载/上传速度分别是多少?
- 与主要目标用户(或另一台服务器)之间的互连延迟和带宽是否满足业务需求?
- 是否存在明显的丢包或重传?
如果结果远低于预期,下一步可以检查网卡协商速率(ethtool eth0)、路由追踪(mtr)或咨询运营商。
这些工具配合使用,就能把网络问题锁定到具体环节。
建议把测试结果保存下来,后续做变更(如升级带宽、更换线路)时再测一次,前后对比更直观。
有问题可以在评论区留言,我会逐一回复。