使用 Speedtest CLI 测试服务器带宽质量

2020-02-24 便签格

当你在本地连接服务端的时候,有许多因素影响着所谓的「速度」。如服务器配置、服务器带宽、连接走线、本地网络等。所以有时候感觉「慢」不一定是服务器差,还可能是你走线不好甚至你本地就炸了。

这时候想要真实的反应服务器带宽,直接在服务器上测速才是最能体现的。

而在平时我们常用的设备(电脑、手机)上,都可以使用浏览器直接访问 Speedtest 网站进行测速。可是服务器大多不带图形界面,更没有什么交互式浏览器。不要紧,可以让 Speedtest CLI 来完成。

Speedtest 还是你熟悉的 Speedtest 。CLI 指 命令行界面 ,也正是平时我们操控远程服务器最常见的方式。Speedtest CLI 正是一个专门为命令行界面设计使用 Speedtest 的工具。

TL;DR

  1. 获取主要程式:

    pip install speedtest-cli

    or

    wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
    chmod +x speedtest-cli
  2. 使用

    speedtest-cli

    or ( 如果你使用第二种方法直接下载的话,定位到下载位置后 )

    ./speedtest-cli
  3. 更多参数请参考官方 Usage

安装 & 使用

如果你的 VPS 安装了 Pip ,可以使用:

pip install speedtest-cli

直接安装。然后任意位置输入 speedtest-cli 即可调用。

但是由于这个程序并不需要什么依赖,我倾向于手动下载 8M 左右的源程序然后直接执行:

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --no-check-certificate

如果你的 VPS 并没有安装 wget ,可以考虑使用一下命令安装:

# CentOS
yum -y install wget

# Debian/Ubuntu
apt-get install wget

而我们还要赋予其执行权限:

chmod +x speedtest-cli

这样就可以使用在程序目录下使用 ./speedtest-cli 调用了。

使用参数

直接运行 speedtest-cli 会默认使用距离你的服务器最近的节点进行测速。当然还有一些高级玩法,如一些可选的参数。

-h, --help            使用帮助
--no-download 不进行下载性能测试
--no-upload 不进行上传性能测试
--single 使用单线程而非多线程
--bytes 使用 bytes 而非 bits 作为单位
--share 将测试结果生成一个以图片形式的分享连接(不受 --csv, --bytes 影响)
--simple 去重冗长的结果,仅显示基本信息
--csv 去重冗长的结果,仅显示基本信息(不受 --bytes 影响,使用 bits 作为单位)
--csv-delimiter CSV_DELIMITER
自定义 CSV 模式中的分界符(默认 ", "
--csv-header 答应 CSV 标头
--json 去重冗长的结果,仅以 JSON 格式显示基本信息(不受 --bytes 影响,使用 bits 作为单位)
--list 按距离排序展现 speedtest.net 服务器列表
--server SERVER 指定测试服务器 ID ,可指定多个
--exclude EXCLUDE 排除测试服务器 ID ,可排除多个
--mini MINI 调用 Speedtest Mini 服务(URL)
--source SOURCE 绑定源 IP 地址
--timeout TIMEOUT 设定超时时间,以秒为单位,默认为 10
--secure 使用 HTTPS 连接测试而非 HTTP
--no-pre-allocate 不要预分配上传数据。 默认启用该预分配,以提高上传性能。为了支持内存不足的系统,请使用此选项来避免出现 MemoryError
--version 查看当前 speedtest-cli 版本

使用最频繁的可能要数 --share--server SERVER 了。

关于服务器 ID ,可以使用 --list 按距离排序展现,或者在 这个页面 查看(可使用 ctrl/command + f 快速查找)。

一些题外话。

以上操作只是为了更好地反应服务器带宽质量,一定程度上排除线路或本地导致的影响。

但毕竟我们不能贴着机房使用服务器,最终使用效果还受商家线路优化等功夫是否走心而影响的。


(完,感谢阅读!)

本文作者:ChrAlpha

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

本文链接: https://blog.ichr.me/post/use-speedtest-cli-to-test-the-speed-of-your-server/

便签格

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。