測試伺服器的網路連線速度 - speedtest-cli

一般我們測試自己電腦的上下載速度時,可能會直接透過瀏覽器連到如speedtest.net之類的網站。但如果伺服器的話,如果只有終端機介面,這個方法可能就不太適合。好在有個用python寫成的好工具 - speedtest-cli。這個工具可以幫助我們讓伺服器連線到speedtest.net並測試上下載速度。安裝步驟如下:(以ubuntu為例)

  1. 安裝 python-pip 套件
    sudo apt-get install python-pip
  2. 利用pip安裝speedtest-cli
    sudo pip install speedtest-cli

如果不想多安裝python-pip,或者上述方法無法執行,就手動來吧

  1. 下載speedtest-cli的py檔
    sudo wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
  2. 設定讀取及執行權限
    sudo chmod a+rx speedtest_cli.py
  3. 將speedtest_cli.py移動到 /usr/bin 並更名便於執行
    sudo mv speedtest_cli.py /usr/bin/speedtest-cli
  4. 執行speedtest-cli
    speedtest-cli

執行結果範例如下:

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from xxx (xxx.xxx.xxx.xxx)... ISP名稱及伺服器IP
Selecting best server based on ping...
Hosted by Atlantic Metro (New York City, NY) [1.56 km]: 16.292 ms  測試伺服器(speedtest)的所在位置
Testing download speed........................................
Download: 34.94 Mbit/s    下載速度
Testing upload speed..................................................
Upload: 22.34 Mbit/s      上傳速度
 
由上面範例中我們注意到,測試伺服器的所在位置,這個原則上speedtest-cli會自動找最近的伺服器,那如果伺服器在美國,而大部分使用者在台灣的話,我要怎麼知道台灣的連線速度呢?我們找台灣的測試伺服器,指令如下:
speedtest-cli --list | grep Taiwan
 
這個指令會列出在台灣的伺服器,大概如下內容:
2327) Far Eastone Telecommunications Co., Ltd. (Taipei, Taiwan) [12528.77 km]
2181) kbro CO.LTD (Taipei, Taiwan) [12528.77 km]
2133) Taiwan Fixed Network (Taipei, Taiwan) [12528.77 km]
3967) Chief Telecom (Taipei, Taiwan) [12528.77 km]
2589) Far EasTone Telecommunications Co., Ltd (Taoyuan, Taiwan) [12530.88 km]
3921) Taiwan Fixed Network (Taoyuan, Taiwan) [12530.88 km]
4505) Chief Telecom (New Taipei, Taiwan) [12533.11 km]
...
 
如果要指定測試伺服器的話,只要指定前面的編號即可,指令如下:
speedtest-cli --server 3921