使用 Speedtest CLI 测试服务器带宽质量
当你在本地连接服务端的时候,有许多因素影响着所谓的「速度」。如服务器配置、服务器带宽、连接走线、本地网络等。所以有时候感觉「慢」不一定是服务器差,还可能是你走线不好甚至你本地就炸了。
这时候想要真实的反应服务器带宽,直接在服务器上测速才是最能体现的。
而在平时我们常用的设备(电脑、手机)上,都可以使用浏览器直接访问 Speedtest 网站进行测速。可是服务器大多不带图形界面,更没有什么交互式浏览器。不要紧,可以让 Speedtest CLI 来完成。
Speedtest 还是你熟悉的 Speedtest 。CLI 指 命令行界面 ,也正是平时我们操控远程服务器最常见的方式。Speedtest CLI 正是一个专门为命令行界面设计使用 Speedtest 的工具。
TL;DR
获取主要程式:
pip install speedtest-cli
or
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli
使用
speedtest-cli
or ( 如果你使用第二种方法直接下载的话,定位到下载位置后 )
./speedtest-cli
更多参数请参考官方 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
快速查找)。
后
一些题外话。
以上操作只是为了更好地反应服务器带宽质量,一定程度上排除线路或本地导致的影响。
但毕竟我们不能贴着机房使用服务器,最终使用效果还受商家线路优化等功夫是否走心而影响的。