Linux中使用speedtest-cli 测试网速的方法
Speedtest.net的工作原理并不复杂:它在你的浏览器中加载JavaScript代码并自动检测离你最近的Speedtest.net服务器,然后向服务器发送HTTP GET and POST请求来测试上行/下行网速.
Windows 下我们可以很方便的直接浏览器访问 speedtest.net 进行网速测试,在没有图形管理界面的 Linux 系统下,我们也可以用一个小脚本 speedtest-cli 进行测速.
本文使用的小脚本在 CentOS 6、Debian 7、Ubuntu 12.04/14.04 下均测试通过,因为这些发行版都默认包含了 Python 2.7.* 使用起来灰常方便。
一、下载脚本并赋予权限
- wget-Ospeedtest-clihttps://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
- chmod+xspeedtest-cli
- //或
- curl-ospeedtest-clihttps://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
- chmod+xspeedtest-cli
二、运行方法默认的测速方法只需要运行一个命令即可:
./speedtest-cli
显示结果如下:
- root@example:~#./speedtest-cli
- Retrievingspeedtest.netconfiguration...
- Retrievingspeedtest.netserverlist...
- TestingfromEarth(192.0.0.2)...
- HostedbyEarth(Unknown)[100.00km]:100.00ms
- Testingdownloadspeed........................................
- Download:100.00Mbits/s
- Testinguploadspeed..................................................
- Upload:100.00Mbits/s
但是有时候通过服务器的 IP 判断测速服务器的地理位置并不准确,我们可以通过指定服务器 ID 的方式来进行,首先,打开这个页面:
http://www.phpfensi.com/speedtest-servers-static.php
然后可以用 Ctrl + F 搜索您需要的服务器物理位置,比如我想进行香港服务器的测速,找到某个 Hong Kong 节点:
- <serverurl="http://speedtestneta.hkix.net/speedtest/upload.php"lat="22.3000"lon="114.2000"name="HongKong"country="China"cc="HK"sponsor="HKIX1"id="5120"url2="http://speedtestnetb.hkix.net/speedtest/upload.php"host="speedtestneta.hkix.net:8080"/>
我们可以看到 ID 是 5120,那么在你的服务器里,只要运行:
./speedtest-cli --server 5120
即可指定服务器进行测速,有时候可能你的服务器访问 http://www.speedtest.net/speedtest-servers-static.php 会 403 Forbdden 错误,这是因为你服务器的网络被 speedtest.net 给屏蔽了,自己简单的做个 Nginx 反代然后修改 speedtest-cli 文件即可.
热门评论