Linux下测网速是什么

在 Linux 世界里,所谓的“测网速”,绝不仅仅是点开一个网页那么简单。它本质上是一个使用命令行工具,对网络连接的带宽、延迟、丢包率等一系列关键指标进行量化和评估的过程。目的也很明确:要么是快速验证网络连通质量,要么是深度排查那些令人头疼的性能瓶颈。
测试方法
(1) 速测:快速出结果
当需要给老板或同事一个快速答复时,speedtest-cli 无疑是最佳选择。安装后直接运行,稍等片刻,来自公共测速节点的下载、上传速度及延迟数据便一目了然。如果想看到更简洁的输出,加上 --simple 参数,结果就只剩下干净利落的三行数字。
# 快速测速,适合给老板快速汇报
speedtest-cli --simple
# 完整测速报告
speedtest-cli
# 测试上传和下载带宽
speedtest-cli --bytes
(2) 对测:真实带宽
想知道两台服务器之间的实际传输能力?这就需要 iperf3 登场了。它的工作模式需要一端作为服务器等待,另一端作为客户端发起连接并发送测试数据流。这个工具的强大之处在于,它不仅能测试TCP性能,还能评估UDP,并且可以调整并发连接数,最终给出带宽、抖动等极为详细的报告。
# 服务器端启动监听
iperf3 -s
# 客户端测试下载速度
iperf3 -c 服务器IP
# 测试上传速度
iperf3 -c 服务器IP -R

(3) 监控:看实时流量
网络突然卡顿,想知道是谁在占用带宽?iftop 或 nload 这类实时流量监控工具就是你的“千里眼”。iftop 会清晰地列出所有当前连接及其流量细节,而 nload 则用动态的柱状图直观展示网卡的进出速度,看着数值跳动,问题源头往往无处遁形。
# 查看所有网络连接流量
sudo iftop
# 监控指定网卡
sudo iftop -i eth0
# 简单直观的流量图
nload eth0

(4) 探路:找问题节点
网速慢,问题可能出在从你到目标服务器之间的任何一个路由节点上。mtr 这个命令巧妙地结合了持续 Ping 和路由跟踪。它会向路径上的每一个跃点持续发送数据包,并统计每一段的延迟和丢包情况,最终生成一份动态刷新的诊断表格,帮你精准定位到问题链路。
# 基础路径分析
mtr www.baidu.com
# 生成报告模式,方便保存
mtr -r -c 10 www.baidu.com > report.txt
# 不解析主机名,显示更快
mtr -n www.baidu.com
(5) 记录:长期看趋势
对于服务器运维而言,了解流量随时间的变化趋势至关重要。vnStat 这个轻量级的工具可以安静地在后台记录指定网卡的流量使用情况,并生成日度、月度报告。简单执行 vnstat -d,就能看到当天流量的消耗总量以及峰值出现的时间点。
# 查看实时流量
vnstat -l
# 查看今日流量统计
vnstat -d
# 查看本月流量汇总
vnstat -m

(6) 诊断:系统化排查
真正的网络测速和诊断,其实是一套系统化的流程。正确的做法是:先检查本地网络配置是否正常,接着 Ping 网关测试内网连通性,然后逐步向外排查。这样层层递进,才能准确定位问题究竟出在哪个环节。
# 检查本地网络配置
ip addr show
ip route show
# 测试内网连通性
ping -c 4 网关IP
# 测试DNS解析
nslookup www.baidu.com
# 最终带宽测试
speedtest-cli --simple
安装指南
Debian/Ubuntu 系统:
sudo apt update
sudo apt install speedtest-cli iperf3 iftop nload vnstat mtr
RHEL/CentOS 系统:
sudo yum install epel-release
sudo yum install iperf3 iftop mtr
sudo pip3 install speedtest-cli
通过 Python 安装:
sudo pip3 install speedtest-cli
说到底,在 Linux 环境下测网速,从一句命令的快速响应,到动用多种工具进行系统性排查,这其中的跨度,恰恰体现了对网络原理理解的深度。工具本身并不难获取,真正的挑战在于,当问题突如其来时,你能否立刻想起该用什么工具,并且能读懂数据背后真正诉说的故事。
