使用 speedtest-cli 指令在終端機中測試 Linux 網路連線速度

這裡介紹如何使用 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_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 測試網路速度

最簡單的使用方式就是直接執行:
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 ms
1

Testing download speed........................................
Download: 1.65 Mbit/s
2

Testing upload speed..................................................
Upload: 0.06 Mbit/s
3
1
speedtest-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
本站已經搬家了,欲查看最新的文章,請至 G. T. Wang 新網站