2.0 版本用 sivel/speedtest-cli 替换了 Speedtest.net 官方的 cli 工具,定制起来还是比较麻烦。最近又看了下,发现可以直接用 TCP 测速,干脆就直接用 asyncio 重写了一下,所以崭新的 3.0 版本来了。
使用方法
wget https://bench.im/bench.py -O bench python3 bench复制代码
不带参数就只测 1 个最近的服务器,内置服务器测速列表转为使用两位国家代码,如测国内:
python3 bench cn复制代码
测多个地区:
python3 bench cn us de fr复制代码
默认每个地区随机选最多 10 个测速点。
进阶使用
1. 指定线程
python3 bench -t 1复制代码
说是线程,其实是 TCP 链接数量,默认是 4 个,测 ping 的时候强制只用 1 个。
2. 指定每线程缓存容量
python3 bench -b 256复制代码
太低网络跑不满,太高测量不精确。默认是 128(K),单位字节,在百兆内比较精确。
低速网络建议 16,千兆建议 2560 以上,最大 16384,需要看情况自行调节。
其他
调整了测量计算方式,和 Speedtest.net 官方相同,只保留末段的速度,和原本的整段速度有所区别。不过由于完全重写,现在的速度能做到实时回显。
在网络良好的情况下每个服务器会花费上传15+下载15+Ping10=40秒的时间,但如果网络很差,极端情况下会花费两倍左右的时间。
目前不依赖其他包,但是需要 Python >= 3.7,更早的版本暂时不支持。
黑龙江省网友说:顶一下
贵州省网友说:我也顶一下
河南省网友说:感谢大佬分享‘
浙江省网友说:感谢分享
湖南省网友说:mark 支持一下
江苏省网友说:收藏了
,
多谢
云南省网友说:这个月唯一的技术帖,绑定。
山东省网友说:没有py3咋办
江苏省网友说:运行一会就出错
福建省网友说:支持一下
陕西省网友说:前排帮顶
贵州省网友说:多地区测速,支持了