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://m.survivalescaperooms.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 文件即可.
新聞熱點
疑難解答