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 进入官网购买。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。