speedtest-cli安装失败主因是混淆新旧工具或环境不匹配;应卸载python版speedtest-cli,改用ookla官方二进制speedtest,下载后chmod +x并移至/usr/local/bin,执行speedtest --version确认版本为“speedtest by ookla”。

speedtest-cli 安装失败常见原因
直接运行 speedtest-cli 报 “command not found” 是最常遇到的问题,本质是没装或装错版本。官方已停止维护旧版 speedtest-cli(基于 Python 的脚本),现在主流用的是 Ookla 官方 CLI(speedtest),二进制文件,不依赖 Python。
容易踩的坑:
- 混用两个工具:误把
speedtest-cli(Python 版)和speedtest(Ookla 官方版)当成同一个,参数不兼容 - 系统架构不匹配:下载了
x86_64包却在 ARM 服务器(如树莓派、AWS Graviton)上运行,报cannot execute binary file - 权限未设可执行:
chmod +x speedtest忘了执行,移动到/usr/local/bin后仍提示 permission denied
如何确认你装的是 Ookla 官方 speedtest
执行 speedtest --version,输出应类似 Speedtest by Ookla 1.5.1;若输出 speedtest-cli 2.1.3 或带 Python 路径,则是旧版,建议卸载并换官方版。
正确安装步骤(以 x86_64 系统为例):
- 下载最新版:
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.5.1-linux-x86_64.tgz - 解压:
tar -xvzf ookla-speedtest-1.5.1-linux-x86_64.tgz - 赋予执行权限:
chmod +x speedtest - 全局可用:
sudo mv speedtest /usr/local/bin/
验证:speedtest --help 能正常列出参数说明即成功。
speedtest 命令常用参数与实测技巧
默认 speedtest 会自动选服务器、测下载/上传/Ping,但真实场景中往往需要控制变量。
-
speedtest --server-id=5135:指定上海电信节点(ID 可先用speedtest --servers | grep Shanghai查) -
speedtest --accept-license --accept-gdpr:跳过首次交互式许可确认(适合脚本调用) -
speedtest --csv:输出逗号分隔值,方便写入日志或导入 Excel -
speedtest --progress=no:关闭实时进度条,避免干扰自动化输出
注意:加 --share 会生成公开 URL,结果上传到 Ookla 服务器,敏感环境慎用;企业内网测试建议禁用。
为什么测速结果和网页版不一致
不是 bug,是设计差异。CLI 默认使用单线程 HTTP 测试,而网页版默认启用多线程 + WebSocket + 更大缓冲区,尤其在高带宽(>100Mbps)环境下,CLI 结果通常低 5–15%。
提升 CLI 准确性的做法:
- 加
--multiple参数启用多线程(需 v1.4+) - 避开高峰时段,关闭其他占用带宽的进程(如
rsync、docker pull) - 物理直连网口,禁用 WiFi 或虚拟网卡(
ip link show确认主接口)
真正关键的不是绝对数值,而是同一台机器、相同参数下的趋势变化——比如连续三天凌晨 3 点跑 speedtest --simple,发现下载从 92Mbit/s 掉到 41Mbit/s,那问题一定在链路,而不是工具不准。











