歡迎光臨
每天分享高質量文章

如何在Linux的終端測試網速 | Linux 中國

學習如何在 Linux 終端使用命令列工具 speedtest 測試網速,或者僅用一條 python 命令立刻獲得網速的測試結果。
— Shrikant Lavhate


致謝
編譯自 | https://kerneltalks.com/tips-tricks/how-to-test-internet-speed-in-linux-terminal/ 
 作者 | Shrikant Lavhate
 譯者 | FelixYFZ ? ? 共計翻譯:3 篇 貢獻時間:139 天

學習如何在 Linux 終端使用命令列工具 speedtest 測試網速,或者僅用一條 python 命令立刻獲得網速的測試結果。

我們都會在連線到一個新的網路或者 WIFI 的時候去測試網路頻寬。 為什麼不用我們自己的伺服器!下麵將會教你如何在 Linux 終端測試網速。

我們多數都會使用 Ookla 的 Speedtest[1] 來測試網速。 這在桌面上是很簡單的操作,訪問他們的網站點選“Go”瀏覽即可。它將使用最近的伺服器來掃描你的本地主機來測試網速。 如果你使用的是移動裝置,他們有對應的移動端 APP。但如果你使用的是隻有命令列終端,介面的則會有些不同。下麵讓我們一起看看如何在Linux的終端來測試網速。

如果你只是想偶爾的做一次網速測試而不想去下載測試工具,那麼請往下看如何使用命令完成測試。

第一步:下載網速測試命令列工具。

首先,你需要從 GitHub[2] 上下載 speedtest 命令列工具。現在,它也被包含在許多其它的 Linux 倉庫中,如果已經在你的庫中,你可以直接在你的 Linux 發行版上進行安裝[3]

讓我們繼續下載和安裝過程,安裝的 git 包取決於你的 Linux 發行版。然後按照下麵的方法來克隆 Github speedtest 儲存庫

  1. [root@kerneltalks ~]# git clone https://github.com/sivel/speedtest-cli.git

  2. Cloning into 'speedtest-cli'...

  3. remote: Counting objects: 913, done.

  4. remote: Total 913 (delta 0), reused 0 (delta 0), pack-reused 913

  5. Receiving objects: 100% (913/913), 251.31 KiB | 143.00 KiB/s, done.

  6. Resolving deltas: 100% (518/518), done.

它將會被克隆到你當前的工作目錄,新的名為 speedtest-cli 的目錄將會被建立,你將在新的目錄下看到如下的檔案。

  1. [root@kerneltalks ~]# cd speedtest-cli

  2. [root@kerneltalks speedtest-cli]# ll

  3. total 96

  4. -rw-r--r--. 1 root root  1671 Oct  7 16:55 CONTRIBUTING.md

  5. -rw-r--r--. 1 root root 11358 Oct  7 16:55 LICENSE

  6. -rw-r--r--. 1 root root    35 Oct  7 16:55 MANIFEST.in

  7. -rw-r--r--. 1 root root  5215 Oct  7 16:55 README.rst

  8. -rw-r--r--. 1 root root    20 Oct  7 16:55 setup.cfg

  9. -rw-r--r--. 1 root root  3196 Oct  7 16:55 setup.py

  10. -rw-r--r--. 1 root root  2385 Oct  7 16:55 speedtest-cli.1

  11. -rw-r--r--. 1 root root  1200 Oct  7 16:55 speedtest_cli.py

  12. -rwxr-xr-x. 1 root root 47228 Oct  7 16:55 speedtest.py

  13. -rw-r--r--. 1 root root   333 Oct  7 16:55 tox.ini

名為 speedtest.py 的 Python 指令碼檔案就是用來測試網速的。

你可以將這個指令碼連結到 /usr/bin 下,以便這臺機器上的所有使用者都能使用。或者你可以為這個指令碼建立一個命令別名[4],這樣就能讓所有使用者很容易使用它。

執行 Python 指令碼

現在,直接執行這個指令碼,不需要新增任何引數,它將會搜尋最近的伺服器來測試你的網速。

  1. [root@kerneltalks speedtest-cli]# python speedtest.py

  2. Retrieving speedtest.net configuration...

  3. Testing from Amazon (35.154.184.126)...

  4. Retrieving speedtest.net server list...

  5. Selecting best server based on ping...

  6. Hosted by Spectra (Mumbai) [1.15 km]: 8.174 ms

  7. Testing download speed................................................................................

  8. Download: 548.13 Mbit/s

  9. Testing upload speed................................................................................................

  10. Upload: 323.95 Mbit/s

Oh! 不要被這個網速驚訝道。我在 AWE EX2 的伺服器上。那是亞馬遜資料中心的網速!

這個指令碼可以新增有不同的選項。

下麵的幾個選項對這個指令碼可能會很有用處:

要搜尋你附近的網路測試伺服器,使用 --list 和 grep 加上地名來列出所有附近的伺服器。

  1. [root@kerneltalks speedtest-cli]#  python speedtest.py --list | grep -i mumbai

  2. 2827) Bharti Airtel Ltd (Mumbai, India) [1.15 km]

  3. 8978) Spectra (Mumbai, India) [1.15 km]

  4. 4310) Hathway Cable and Datacom Ltd (Mumbai, India) [1.15 km]

  5. 3315) Joister Broadband (Mumbai, India) [1.15 km]

  6. 1718) Vodafone India (Mumbai, India) [1.15 km]

  7. 6454) YOU Broadband India Pvt Ltd. (Mumbai, India) [1.15 km]

  8. 9764) Railtel Corporation of india Ltd (Mumbai, India) [1.15 km]

  9. 9584) Sheng Li Telecom (Mumbai, India) [1.15 km]

  10. 7605) Idea Cellular Ltd. (Mumbai, India) [1.15 km]

  11. 8122) Sify Technologies Ltd (Mumbai, India) [1.15 km]

  12. 9049) I-ON (Mumbai, India) [1.15 km]

  13. 6403) YOU Broadband India Pvt Ltd., Mumbai (Mumbai, India) [1.15 km]

然後你就能從搜尋結果中看到,第一列是伺服器識別號,緊接著是公司的名稱和所在地,最後是離你的距離。

如果要使用指定的伺服器來測試網速,後面跟上 --server 加上伺服器的識別號。

  1. [root@kerneltalks speedtest-cli]# python speedtest.py --server 2827

  2. Retrieving speedtest.net configuration...

  3. Testing from Amazon (35.154.184.126)...

  4. Retrieving speedtest.net server list...

  5. Selecting best server based on ping...

  6. Hosted by Bharti Airtel Ltd (Mumbai) [1.15 km]: 13.234 ms

  7. Testing download speed................................................................................

  8. Download: 93.47 Mbit/s

  9. Testing upload speed................................................................................................

  10. Upload: 69.25 Mbit/s

如果想得到你的測試結果的分享連結,使用 --share,你將會得到測試結果的連結。

  1. [root@kerneltalks speedtest-cli]# python speedtest.py --share

  2. Retrieving speedtest.net configuration...

  3. Testing from Amazon (35.154.184.126)...

  4. Retrieving speedtest.net server list...

  5. Selecting best server based on ping...

  6. Hosted by Spectra (Mumbai) [1.15 km]: 7.471 ms

  7. Testing download speed................................................................................

  8. Download: 621.00 Mbit/s

  9. Testing upload speed................................................................................................

  10. Upload: 367.37 Mbit/s

  11. Share results: http://www.speedtest.net/result/6687428141.png

輸出中的最後一行就是你的測試結果的連結。下載下來的圖片內容如下 :

這就是全部的過程!如果你不想瞭解這些技術細節,你也可以使用如下的一行命令迅速測出你的網速。

要想在終端使用一條命令測試網速。

我們將使用 curl 工具來線上抓取上面使用的 Python 指令碼然後直接用 Python 執行指令碼。

  1. [root@kerneltalks ~]# curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

上面的指令碼將會執行指令碼輸出結果到螢幕上。

  1. [root@kerneltalks speedtest-cli]# curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

  2. Retrieving speedtest.net configuration...

  3. Testing from Amazon (35.154.184.126)...

  4. Retrieving speedtest.net server list...

  5. Selecting best server based on ping...

  6. Hosted by Spectra (Mumbai) [1.15 km]: 12.599 ms

  7. Testing download speed................................................................................

  8. Download: 670.88 Mbit/s

  9. Testing upload speed................................................................................................

  10. Upload: 355.84 Mbit/s

這是在 RHEL 7 上執行的結果,在 Ubuntu、Debian、Fedora 或者 CentOS 上一樣可以執行。


via: https://kerneltalks.com/tips-tricks/how-to-test-internet-speed-in-linux-terminal/

作者:Shrikant Lavhate[6] 譯者:FelixYFZ 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂