這裡介紹如何使用 speedtest-cli
指令在終端機中測試 Linux 網路連線速度,主要適用於各種 Linux 伺服器。
一般會影響網路速度的原因有很多(例如網路的延遲與頻寬),而在網路很慢的時候,大家通常都會使用 Speedtest.net 或 Hinet 連線速率測試工具來檢測自己的 ISP 網路速度是否有問題。
像這類的網路速度檢測網頁是將測試網路的 JavaScript 程式碼載入後,再連線到離使用者最近的測試伺服,進而測量上傳與下載的速度,但是如果你現在想要測試自己 Linux 伺服器的網路狀況時,這種使用瀏覽器的方式就比較麻煩了,一來遠端的伺服器可能沒有安裝 XWindow 與瀏覽器,即便有安裝瀏覽器,使用 XWindow 遠端顯示的方式來測試,也會造成測試的結果有誤差(因為 XWindow 本身的傳輸就會佔去很大的頻寬)。
speedtest-cli
指令是一個可以在終端機中直接測試網路速度的小工具,他本身是一個用 Python 寫成的指令稿,使用 Speedtest.net 的伺服器來做網路速度測試,可以算是 Speedtest.net 的一個命令列版本,以下介紹這個工具的使用方式。
安裝 speedtest-cli
由於 speedtest-cli
有備納入 Python 官方的套件庫,所以可以使用 pip
安裝:
pip install speedtest-cli
或使用 easy_install
:
easy_install speedtest-cli
如果想要安裝 GibHub 上的最新版,可以使用:
pip install git+https://github.com/sivel/speedtest-cli.git
或是
git clone https://github.com/sivel/speedtest-cli.git python speedtest-cli/setup.py install
除此之外,亦可直接從 GitHub 下載
wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli
或是
curl -o speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli
使用 speedtest-cli
測試網路速度
最簡單的使用方式就是直接執行:
speedtest-cli
輸出為:
Retrieving speedtest.net configuration…
Retrieving speedtest.net server list…
Testing from CHTD, Chunghwa Telecom Co., Ltd. (1.173.168.19)…
Selecting best server based on ping…
Hosted by kbro CO.LTD (Hsinying) [36.48 km]: 18.279 ms1
Testing download speed………………………………….
Download: 1.65 Mbit/s2
Testing upload speed…………………………………………..
Upload: 0.06 Mbit/s3
1speedtest-cli
會自動選擇距離使用者最近的伺服器來進行測試。
2上傳速度。
3下載速度。
如果想要跟別人分享測試結果,可以加上 --share
參數:
speedtest-cli --share
這樣測試完成時,還會產生一張分享用的圖檔:
如果想要查詢所有可用的伺服器,可以使用 --list
參數:
speedtest-cli --list
這樣就會列出所有可用的伺服器,並依照與使用者之間的距離來排序:
Retrieving speedtest.net configuration…
Retrieving speedtest.net server list…
2592) Far EasTone Telecommunications Co., Ltd (Tainan, Taiwan) [6.75 km]
2191) kbro CO.LTD (Hsinying, Taiwan) [36.48 km]
2593) Far EasTone Telecommunications Co., Ltd (Kaohsiung, Taiwan) [39.46 km]
3842) Taiwan Fixed Network (Kaohsiung, Taiwan) [39.46 km]
2594) Far EasTone Telecommunications Co., Ltd (Pingtung, Taiwan) [42.80 km]
[略]
每台伺服器都有一個 ID 號碼,在測試時可以用這個 ID 編號來指定想要使用的伺服器:
speedtest-cli --server 2592
參考資料:Xmodulo
tony
請問測試完之後要如何移除?
G. T. Wang
若是使用
pip
則執行pip uninstall speedtest-cli
,如果是其他直接下載的方式,就直接把speedtest-cli
執行刪除即可。關於
pip
的使用,請參考 https://pip.pypa.io/en/latest/reference/pip_uninstall.htmlluke
github連結失效了
最新的是
https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
G. T. Wang
已修正,感謝告知。