三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Linux 服务器测速工具:speedtest‑cli 命令完整详解(命令行网速测试实战)

Linux 服务器测速工具:speedtest‑cli 命令完整详解(命令行网速测试实战)

Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd=7uz8

一、命令简介

speedtest-cli 是一个基于 Python 编写的命令行工具,用于测试服务器的互联网连接速度(包括下载和上传速度)。它通过调用 Speedtest.net 的测试接口,在全球范围内的多个测试服务器中进行测速,并提供详细的网络性能数据。该工具特别适合在无图形界面的服务器环境中使用,是系统管理员和开发人员常用的网络诊断工具。

二、语法格式

基本语法如下:

bash

运行

speedtest-cli [选项]

三、常用选项及说明

下表列出了 speedtest-cli 的常用命令行选项:

表格

选项说明
-h, --help显示帮助信息并退出。
--version显示版本号并退出。
--share分享结果。测试完成后,会在 Speedtest.net 上生成一个包含测速结果的图片链接。
--simple简洁输出。抑制详细输出,只显示基本的下载、上传速度和延迟信息。
--jsonJSON 格式输出。以 JSON 格式输出完整的测速结果,便于脚本处理。
--list列出服务器。显示所有可用的 Speedtest.net 测试服务器列表,包含 ID、位置和距离。
--server=SERVER_ID指定服务器。使用列表中指定 ID 的服务器进行测速。
--exclude=SERVER_ID排除服务器。测速时排除指定的服务器(可多次使用以排除多个)。
--mini=MINI_URL使用 Speedtest Mini。使用自定义的 Speedtest Mini 服务器 URL 进行测试。
--source=SOURCE_IP绑定源 IP。在多 IP 地址的服务器上,指定用于测试的源 IP 地址。
--timeout=TIMEOUT超时设置。设置 HTTP 请求的超时时间(秒),默认值为 10。
--secure使用 HTTPS。使用 HTTPS 而不是 HTTP 与 Speedtest.net 服务器通信。
--no-pre-allocate禁用预分配。禁用测试数据文件的预分配,可能对内存有限的系统有帮助。

四、示例用法

4.1 基本测速

运行最简单的测速命令,工具会自动选择距离最近的服务器。

bash

运行

speedtest-cli

4.2 简洁输出并分享结果

以简洁模式运行测速,并生成一个可分享的结果图片链接。

bash

运行

speedtest-cli --simple --share

4.3 列出所有可用服务器

查看所有可用的测试服务器,信息包括服务器 ID、运营商、位置和距离。

bash

运行

speedtest-cli --list

4.4 筛选特定地区的服务器

结合 grep 命令,可以筛选出特定国家或地区的服务器,例如列出所有在中国的服务器。

bash

运行

speedtest-cli --list | grep -i china

输出示例:

plaintext

3633) China Telecom (Shanghai, China) [11983.37 km] 3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) [11989.27 km]

4.5 指定服务器进行测速

使用特定 ID 的服务器进行测速,例如使用上海电信的服务器(ID: 3633)。

bash

运行

speedtest-cli --server=3633

4.6 生成机器可读的 JSON 结果

将测速结果以 JSON 格式输出,便于其他脚本或工具解析。

bash

运行

speedtest-cli --json

4.7 使用自定义的 Speedtest Mini 服务器

如果你部署了自己的 Speedtest Mini 服务,可以使用其 URL 进行测试。

bash

运行

speedtest-cli --mini http://your-mini-server.com/speedtest/

五、注意事项

在使用 speedtest-cli 时,请注意以下几点:

  1. Python 环境:speedtest-cli 需要 Python 2.4‑3.4 或更高版本的环境。请确保系统已安装兼容的 Python。

  2. 网络依赖性:测速结果的准确性高度依赖于测试服务器与你的服务器之间的网络路径质量。建议选择地理位置和网络运营商都较近的服务器进行测试。

  3. 服务器负载:Speedtest.net 的公共服务器在高峰时段可能负载较高,影响测试结果。如果结果异常,可以尝试更换服务器或在不同时间段测试。

  4. 防火墙与代理:如果服务器位于防火墙后或使用了网络代理,可能会阻止 speedtest-cli 与测试服务器通信,导致测试失败。请确保相关端口(通常为 HTTP/HTTPS)畅通。

  5. 结果解读

  • 延迟 (Ping):数据包往返时间,单位毫秒 (ms),值越低越好。
  • 下载速度:从服务器下载数据的速度,单位通常为 Mbit/s。
  • 上传速度:向服务器上传数据的速度,单位通常为 Mbit/s。

注意单位是 Mbit/s (兆比特每秒),而非 MB/s (兆字节每秒)。1 MB/s = 8 Mbit/s。

  1. --share 选项:使用此选项会将你的测试结果(包括 IP 地址)上传到 Speedtest.net 并生成一个公开的图片链接。如果在意隐私,请勿使用此选项。

  2. 资源占用:测速过程会进行大量的数据上传和下载,可能会短暂占用较高的网络带宽和少量 CPU 资源。在生产服务器上运行前请评估影响。

← 返回列表