那天领导路过工位,冷不丁抛来一个问题:“Linux服务器没有图形界面,怎么测网速?” 我第一反应是:千万别推荐用浏览器。
无论是托管在机房的Linux服务器,还是云厂商提供的云主机,大多都没有桌面环境。在这种场景下,打开网页测速既繁琐又不专业,有时甚至根本无法实现。真正高效、稳定且能体现专业性的方法,永远是使用命令行进行测速。
本文将为你梳理Linux下最实用的几种测速方法,从系统自带工具到专业第三方脚本,涵盖从新手到老手的应用场景。这些方法干净、无广告,一键即可获得结果。
许多人误以为测速必须安装专门软件,其实不然。Linux自带的命令就已足够强大,其中wget更是几乎在所有发行版中都默认预装,用它来测速简单直接。
一、 自带神器:使用 wget 进行零安装测速
wget是Linux系统的标配下载工具,无需额外安装、配置或依赖,复制一行命令就能测试服务器的真实下载带宽,堪称应急首选。
其原理很简单:从公共服务器下载一个测速文件,但不保存到硬盘(输出到/dev/null),仅观察其实时下载速度。
以下是几个通用的测速文件地址,你也可以根据需要替换为国内其他高速下载链接。
快速测试(100MB 国际节点)
wget -O /dev/null https://nbgl-speed.hetzner.com/100MB.bin

稳定测试(1GB 国际节点)
wget -O /dev/null http://speedtest.tele2.net/1GB.zip

国内节点测试(华为云镜像)
wget -O /dev/null --progress=bar:force https://mirrors.huaweicloud.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-2009.iso

参数--progress=bar:force的作用是:在CentOS 7等旧版wget中,默认可能不显示进度条,此参数可强制显示实时速度,让结果更直观。
命令执行后,终端会实时显示下载进度和速度,完成后会给出总耗时。整个过程不占用磁盘空间,不产生垃圾文件,兼容CentOS、Ubuntu、Debian等主流发行版。
需要注意的是,wget测速的结果受限于测速服务器的出口带宽和到你服务器的网络链路质量,主要用于快速估算下载带宽上限,并非专业的端到端网络性能测试工具。对于国内服务器,务必优先选择国内的测速节点以获得更准确的结果。
二、 Speedtest by Ookla:官方专业级工具
如果你用过著名的网页版Speedtest,那么其命令行版本就是专为运维和服务器环境打造的“极简硬核版”。它由Ookla官方出品,测试结果权威,支持选择特定节点,功能全面。
安装过程在基于RPM的系统(如CentOS/RHEL)上非常简便:
# 卸载可能存在的旧版非官方客户端(如未安装可忽略)
yum remove -y speedtest-cli
# 添加Ookla官方源
curl -s https://install.speedtest.net/app/cli/install.rpm.sh | bash
# 安装官方 speedtest 客户端
yum install speedtest -y

安装完成后,直接运行即可开始测速,工具会自动选择延迟最低的服务器:
speedtest

你也可以手动选择测试节点。首先列出可用服务器:
speedtest -L #列出所有可用服务器

然后根据列出的ID选择特定服务器进行测试,例如选择上海的节点:
# 选择ID为3633的上海电信服务器进行测试
speedtest -s 3633

Ookla Speedtest命令行工具支持测试网络延迟(Ping)、下载和上传速度,是验证云服务器带宽、进行网络故障排查时的最佳选择之一。
三、 Curl 搭配脚本:无需安装的临时方案
有些服务器可能权限受限,无法安装新软件。此时,curl命令配合在线脚本就成了救急方案。这种方法无需安装任何工具,直接通过管道调用Python脚本执行测速。
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3

运行后脚本会自动完成测速。这种方法适合临时使用、最小化系统或内网机器等场景,兼容性极强。
curl命令本身也非常灵活,可以直接用于内网速度测试,这对于评估服务器之间或服务器与存储之间的传输性能很有帮助。
# 步骤1:在内网服务端(假设IP为192.168.2.100)生成测试文件并启动一个临时HTTP服务
mkdir -p /tmp/speedtest && dd if=/dev/zero bs=1M count=100 of=/tmp/speedtest/100MB.bin
python3 -m http.server 8000 --directory /tmp/speedtest
# 步骤2:在内网客户端使用curl测速(不保存文件,仅统计速度)
curl -o /dev/null -s -w "内网下载速度:%{speed_download}/1024/1024 MB/s\n总耗时:%{time_total} 秒\n" http://192.168.2.100:8000/100MB.bin
注意:上述curl脚本方案依赖Python3环境。若系统未安装,需先执行yum install -y python3或apt install -y python3。
四、 方案选择指南
面对不同场景,如何选择最合适的工具?
- 追求极简、零安装:首选
wget,系统自带,开箱即用。
- 追求专业、精准和完整指标(延迟、上传/下载):选择官方
speedtest。
- 权限受限、临时使用或测试内网传输:使用
curl+脚本或纯curl方案。
与网页测速相比,命令行方案的优势显而易见:无广告干扰、资源占用极低、完美支持远程SSH操作,并且可以轻松集成到自动化脚本中,是真正为服务器环境量身定制的解决方案。
五、 总结
在Linux的世界里,解决问题的效率永远比形式更重要。当被问及如何测速时,你能从容地敲下几行命令,在几秒内获得清晰明确的结果,专业度自然彰显。无需打开浏览器、无需等待加载、没有繁琐的点击操作,这正是技术人员应有的工作方式。
无论你是运维工程师、开发人员,还是刚接触Linux的新手,掌握这几命令行测速方法都大有裨益。下次遇到网络延迟、带宽质疑或服务器性能排查时,直接选用对应方法,高效又可靠。
命令行测速,并非炫技,而是务实解决问题的利器。希望本文介绍的方法能帮助你在云栈社区的日常运维和技术探索中更加得心应手。