Linux系统安装Speedtest测速工具 服务器上传下载测试方法【指南】

大雪君_4844

大雪君_4844

2026-04-15

609人浏览

原创

用 wget 安装 speedtest-cli 更可靠,因 apt 版本滞后且易受 python 环境影响;测速不准主因是后台流量、tcp_bbr 内核兼容性及过期服务器 id;自动化需加 --simple 和 --csv 参数。

linux系统安装speedtest测速工具 服务器上传下载测试方法【指南】

直接用 speedtest-cli 就行,不用装 GUI、不依赖浏览器,一条命令就能拿到真实上传/下载速率——但默认安装方式容易出错,尤其在 Python 环境混杂或权限受限的服务器上。

安装时为什么 wget 下载脚本比 apt install 更可靠

Debian/Ubuntu 的源里 speedtest-cli 版本常滞后(比如 2.1.x),而官方最新版已支持 IPv6 优先探测、更准的延迟采样;apt 安装还可能因系统 Python 版本(如只装了 python3.9 却没装 python3 软链接)导致执行失败。

  • 用 wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 直接拉取主干最新脚本
  • 立刻加执行权限:chmod +x speedtest-cli
  • 验证是否能跑通:./speedtest-cli --version,输出类似 speedtest-cli 2.4.0 才算成功
  • 如果报 ModuleNotFoundError: No module named 'speedtest',说明系统没装 python3 命令或环境变量没指向正确解释器,改用 python3 ./speedtest-cli --version 测试

speedtest-cli 测速结果不准的三个常见原因

不是工具不准,是测试条件没控住。实测中 80% 的“下载 10M 却标称 100M 带宽”问题都出在这几处:

Browser Setup (No-Root Linux)
Browser Setup (No-Root Linux)

在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...

下载
  • 后台有 rsync、docker pull 或日志轮转在偷偷传数据,测速前先用 iftop -P tcp 看端口流量,确认无其他 TCP 连接占带宽
  • 服务器开了 tcp_bbr 但内核版本低于 4.9,会导致上传速率虚高(尤其小包场景),可临时关掉:echo 'net.ipv4.tcp_congestion_control = cubic' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
  • 用 --server 指定的 ID 实际已下线(speedtest-cli --list 显示的 ID 不实时更新),建议先用 speedtest-cli --list | head -n 5 看前 5 个节点的延迟值,选中括号里数字最小的那个 ID

自动化监控必须加的两个参数

写进 crontab 定时跑 speedtest-cli 时,不加这两个参数,日志根本没法分析:

  • 必须加 --simple:否则输出含 ANSI 颜色码和空行,grep "Download" 会漏匹配
  • 必须加 --csv:如果要入库或画图,--csv 输出是纯逗号分隔,字段顺序固定为 timestamp,sponsor,server_name,download,upload,share,比解析文本稳定得多
  • 别信 --share 生成的图片链接能长期有效——Speedtest.net 通常 7 天后就失效,且生成过程额外耗时 2~3 秒,监控场景完全没必要
  • 示例定时任务:0 */2 * * * /root/speedtest-cli --simple --csv >> /var/log/speedtest.csv 2>/dev/null

想对比多地区节点?别用 grep 直接筛中文名

speedtest-cli --list 输出的服务器名称是原始英文,中文是网页端渲染加的,命令行里搜 "上海" 或 "北京" 必然为空。正确做法是:

  • 先跑 speedtest-cli --list | head -n 20,找地理标签含 Shanghai、Beijing、Guangzhou 的条目
  • 注意看中括号里的距离值,比如 [12.57km] 是物理距离估算,不代表网络延迟,实际延迟得靠 ping 测试对应 IP(speedtest-cli --server=5135 --debug 会打印出该节点真实域名)
  • 批量测多个节点时,用 for id in 5135 7553 12345; do echo "=== Server $id ==="; ./speedtest-cli --server=$id --simple; done

真正影响结果的不是选哪个参数,而是测速前有没有杀掉其他 TCP 连接、有没有确认 Python 解释器路径、以及 CSV 字段顺序是否被后续脚本硬编码依赖——这些细节一错,自动化就变成定时制造垃圾数据。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

529

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1658

6

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

665

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

4819

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5737

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2153

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

219

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

431

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

380

26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习