Speedtest CLI 网络测速教程
Speedtest CLI 是 Ookla 官方推出的命令行网络测速工具,可以在 Linux 服务器和 VPS 上测试网络的上行带宽、下行带宽、延迟(Ping)和丢包率。这是评估搬瓦工 VPS 网络性能最直观的方法之一。本文将详细介绍 Speedtest CLI 的安装和使用方法,以及如何使用 Python 版 speedtest-cli 作为替代方案。
一、安装 Ookla Speedtest CLI(官方版)
1.1 在 Ubuntu/Debian 上安装
# 安装依赖
apt install curl gnupg -y
# 添加 Ookla 官方仓库
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash
# 安装 Speedtest CLI
apt install speedtest -y
1.2 在 CentOS/RHEL 上安装
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | bash
yum install speedtest -y
1.3 手动下载安装
# 下载 Linux x86_64 版本
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-x86_64.tgz
# 解压并安装
tar -xzf ookla-speedtest-1.2.0-linux-x86_64.tgz
mv speedtest /usr/local/bin/
chmod +x /usr/local/bin/speedtest
二、安装 Python 版 speedtest-cli
Python 版是社区维护的开源替代方案,安装更简单:
# 使用 pip 安装
pip3 install speedtest-cli
# 或使用系统包管理器安装
apt install speedtest-cli -y
三、基本测速操作
3.1 默认测速
# Ookla 官方版
speedtest
# Python 版
speedtest-cli
3.2 指定测速服务器
# 列出附近的测速服务器
speedtest --servers
# Python 版列出服务器
speedtest-cli --list | head -20
# 使用指定的服务器 ID 测速
speedtest --server-id=12345
# Python 版指定服务器
speedtest-cli --server 12345
3.3 搜索特定地区的服务器
# 搜索中国的测速服务器
speedtest-cli --list | grep -i "china"
# 搜索美国洛杉矶的服务器
speedtest-cli --list | grep -i "los angeles"
# 搜索日本的服务器
speedtest-cli --list | grep -i "japan"
四、高级用法
4.1 JSON 格式输出
# Ookla 官方版 JSON 输出
speedtest --format=json
# Python 版 JSON 输出
speedtest-cli --json
# 使用 jq 解析 JSON 结果
speedtest --format=json | jq '{download: (.download.bandwidth/125000), upload: (.upload.bandwidth/125000), ping: .ping.latency, server: .server.name}'
4.2 CSV 格式输出
# 输出 CSV 格式(适合记录到文件)
speedtest-cli --csv
# 包含 CSV 表头
speedtest-cli --csv-header
speedtest-cli --csv
4.3 只测试下载或上传
# 只测试下载速度
speedtest-cli --no-upload
# 只测试上传速度
speedtest-cli --no-download
4.4 生成分享链接
# 生成可分享的测速结果图片链接
speedtest-cli --share
五、定时测速并记录
#!/bin/bash
# 定时网络测速记录脚本
LOG_FILE="/var/log/speedtest.csv"
# 首次运行时添加表头
if [ ! -f "$LOG_FILE" ]; then
echo "时间,下载(Mbps),上传(Mbps),Ping(ms),服务器" > $LOG_FILE
fi
# 执行测速并记录
RESULT=$(speedtest --format=json 2>/dev/null)
if [ $? -eq 0 ]; then
DOWNLOAD=$(echo $RESULT | jq -r '.download.bandwidth' | awk '{printf "%.2f", $1/125000}')
UPLOAD=$(echo $RESULT | jq -r '.upload.bandwidth' | awk '{printf "%.2f", $1/125000}')
PING=$(echo $RESULT | jq -r '.ping.latency')
SERVER=$(echo $RESULT | jq -r '.server.name')
echo "$(date '+%Y-%m-%d %H:%M:%S'),$DOWNLOAD,$UPLOAD,$PING,$SERVER" >> $LOG_FILE
fi
将此脚本添加到 crontab 中定期执行:
# 每 6 小时执行一次测速
crontab -e
0 */6 * * * /root/speedtest-log.sh
六、多节点测速脚本
#!/bin/bash
# 多节点测速脚本
echo "===== 多节点网络测速 ====="
echo "测试时间: $(date)"
echo ""
# 定义测速服务器列表(服务器 ID 和名称)
declare -A SERVERS=(
["5396"]="洛杉矶"
["28910"]="东京"
["44988"]="新加坡"
["24447"]="中国电信"
["17145"]="中国联通"
["26352"]="中国移动"
)
for SERVER_ID in "${!SERVERS[@]}"; do
echo "--- 测试到 ${SERVERS[$SERVER_ID]}(ID: $SERVER_ID)---"
speedtest-cli --server $SERVER_ID --simple 2>/dev/null
echo ""
done
echo "测速完成!"
七、使用 curl 和 wget 进行简单测速
如果不方便安装 Speedtest,也可以使用 curl 或 wget 进行简单的带宽测试:
# 使用 curl 测试下载速度
curl -o /dev/null -w "下载速度: %{speed_download} bytes/s\n" https://speed.cloudflare.com/__down?bytes=100000000
# 使用 wget 测试下载速度
wget -O /dev/null https://speed.hetzner.de/100MB.bin 2>&1 | tail -1
# 测试到搬瓦工各机房的延迟
for ip in 104.194.76.1 93.179.124.1 185.212.59.1; do
echo "Ping $ip:"
ping -c 5 $ip | tail -1
done
八、常见问题
8.1 测速结果波动大
网络带宽受多种因素影响,建议多次测试取平均值。同时选择距离 VPS 最近的测速服务器可以减少路由影响。
8.2 测速显示带宽远低于标称值
搬瓦工 VPS 的带宽是共享的,实际可用带宽受同一宿主机上其他用户的影响。在不同时间段测试可能得到不同结果,高峰期带宽可能会下降。
8.3 speedtest-cli 版本过旧
# 升级 Python 版
pip3 install --upgrade speedtest-cli
# 或使用 Ookla 官方版获得更准确的结果
apt update && apt upgrade speedtest -y
总结
Speedtest CLI 是评估 VPS 网络性能最便捷的工具。建议在购买搬瓦工 VPS 后立即进行多节点测速,了解到不同地区的网络质量。如果需要更专业的带宽测试,可以参考 iPerf3 带宽性能测试教程。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的优惠,通过 bwh81.net 进入官网购买。