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 -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
- chmod +x speedtest-cli
- //或
- curl -o speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
- chmod +x speedtest-cli
二、运行方法默认的测速方法只需要运行一个命令即可:
./speedtest-cli
显示结果如下:
- root@example:~# ./speedtest-cli
- Retrieving speedtest.net configuration...
- Retrieving speedtest.net server list...
- Testing from Earth (192.0.0.2)...
- Hosted by Earth (Unknown) [100.00 km]: 100.00 ms
- Testing download speed........................................
- Download: 100.00 Mbits/s
- Testing upload speed..................................................
- Upload: 100.00 Mbits/s
但是有时候通过服务器的 IP 判断测速服务器的地理位置并不准确,我们可以通过指定服务器 ID 的方式来进行,首先,打开这个页面:
http://www.Vevb.com/speedtest-servers-static.php
然后可以用 Ctrl + F 搜索您需要的服务器物理位置,比如我想进行香港服务器的测速,找到某个 Hong Kong 节点:
- <server url="http://speedtestneta.hkix.net/speedtest/upload.php" lat="22.3000" lon="114.2000" name="Hong Kong" 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 文件即可.
新闻热点
疑难解答