ウェブサイト検索

コマンドラインからspeedtest-cliを使用してスピードテストを実行する方法


速度テストを実施することは、インターネット接続の現状を確認するために非常に役立ちます。例えば、私たちのISP(インターネットサービスプロバイダー)が支払っているパラメーターを尊重しているかどうかを確認したり、可能な問題を診断したりするためです。

ping、ダウンロードおよびアップロードの値をチェックする最も一般的な方法の1つは、speedtest.netウェブサイトからテストを実行することです。speedtest-cliプログラムを使用すると、私たちのお気に入りのコマンドラインインターフェースから同じテストを実行できます。

このチュートリアルでは、あなたは学びます:

  • speedtest-cliアプリケーションのインストールおよび使用方法
  • その動作を変更するために使用できる最も便利なオプションは何ですか?

Linuxのコマンドラインからspeedtest-cliコマンドを使用してインターネット接続速度をテストする

ソフトウェアの要件と使用される規約

speedtest-cliアプリケーションとは何ですか?

Pythonで書かれたspeedtest-cliユーティリティは、基本的にはspeedtest.netウェブサイトから速度テストを実行するためのコマンドラインインターフェースの相当物です。このユーティリティは完全にオープンソースで、Apache 2.0ライセンスのもとに公開されています。コマンドライン環境で作業しているときやスクリプトを書いているときに、インターネット接続の効率をチェックするのに非常に役立ちます。このチュートリアルでは、どのように使用するか、そしてその動作を変更するために使用できる最も興味深いオプションについて見ていきます。

speedtest-cliをインストールする

基本的に、speedtest-cliアプリケーションをインストールする方法は3つあります。すべての主要なLinuxディストリビューションのデフォルトリポジトリにプログラムが存在するため、最初で推奨されるインストール方法は、お気に入りのパッケージマネージャを使用する方法です。たとえば、Fedoraにアプリケーションをインストールするには、dnfを使用します。

sudo dnf install speedtest-cli

Debian または Debian ベースのディストリビューションでは、古き良き apt を使用できます。

sudo apt-get update && sudo apt-get install speedtest-cli

Speedtest-cliはArchlinuxのCommunityリポジトリにも存在するため、pacmanを使ってインストールできます。

sudo pacman -S speedtest-cli

speedtest-cliはPythonで書かれているため、pip(またはpip3)を使用してディストリビューションに依存しない方法でインストールすることも可能です。パッケージをこの方法でインストールする際は、--userフラグを使用して、アクションを自分のユーザーのみに適用することをお勧めします:

pip3 install speedtest-cli --user

ついに、GitHubリポジトリをクローンすることでspeedtest-cliをインストールできます。

git clone https://github.com/sivel/speedtest-cli

リポジトリがクローンされたら、その中に移動し、以下のコマンドを実行できます:

python3 setup.py install --user

speedtest-cliの使い方

speedtest-cliを使用する最も簡単な方法は、オプションなしでターミナルで呼び出すことです。まず、アプリケーションは接続をテストするために最も近い利用可能なサーバーを選択し、次にダウンロードとアップロードの速度を表示します。

Linuxターミナルからインターネット接続速度の結果を確認するご覧の通り、デフォルトでは速度はbitsで表現されます。代わりにを使用するためには、bytesを使用するには、--bytes

オプション。

コマンドの基本的な使用法を見ましたが、次は可能なオプションでその動作をどのようにカスタマイズできるか見てみましょう。

共有オプションを使って結果を共有する

speedtest-cliの非常に便利なオプションの1つは--shareです。これを使用すると、速度テストの結果のグラフィカルな表現が生成され、オンラインでホストされます。コマンドは、アクセスして共有するために使用できるURLを返します。

インターネット速度結果の共有

結果にcsvまたはjson形式を使用する

Speedtest-cliは、--csvオプションを使用することで、結果をCSV形式で生成できます。この場合、詳細な出力は抑制され、結果はデフォルトのフィールド区切り記号である,(カンマ)を使用して1行に生成されます。これは、--csv-headerオプションを使用することで変更できます。たとえば、区切り記号として|文字を使用するには、次のように実行できます:

speedtest-cli --csv --csv-delimiter '|'

CSV ヘッダーは --csv-header オプションを使用して印刷できます:

speedtest-cli --csv-header
Server ID,Sponsor,Server Name,Timestamp,Distance,Ping,Download,Upload

結果はjson形式を使用して表すこともできます。この動作を得るために--jsonオプションを使用できます。

特定のサーバーに対して接続をテストする

上記の通り、デフォルトではプログラムは最も近いspeedtest.netサーバーに対してテストを実行します。特定のサーバーに対してテストを強制的に実行したい場合は、まず利用可能なサーバーのリストを生成する必要があります:

speedtest-cli --list
[...]
22813) WebFi S.r.l. (Modugno, Italy) [315.52 km]
10456) Telecom Italia S.p.A. (Bari, Italy) [320.40 km]
 2039) Irpinia Net-Com (Avellino, Italy) [321.58 km]
21306) Wirlab (Avellino, Italy) [321.58 km]
22718) WebFi S.r.l. (Molfetta, Italy) [327.15 km]
11114) NovaConn ISP (Nola, Italy) [333.23 km]
10405) Telecom Italia S.p.A. (Naples, Italy) [334.67 km]
19953) WARIAN (Napoli, Italy) [335.60 km]
17359) Vola (Pomigliano D'Arco, IT) [336.23 km]
15994) Lo Conte Wifi SRL (Ariano Irpino, Italy) [336.91 km]
20850) ALTITUD Internet Company (Barletta, Italy) [338.79 km]
11888) Nova Networks srl (Barletta, Italy) [338.79 km]
14772) AirLan Srl (Barletta, Italy) [339.12 km]
20618) Witecno Srl (Giugliano in Campania, Italy) [346.32 km]
 7020) YouCall (Aversa, Italy) [349.48 km]
18695) WIBER (Caserta, Italy) [353.88 km]
15920) Interfibra (Campobasso, Italy) [391.48 km]
14706) Telecom Italia S.p.A. (Campobasso, Italy) [391.48 km]
 9329) Dimensione Srl (Campobasso, Italy) [391.48 km]
 5793) LinkWireless.IT (Minturno, Italy) [397.94 km]
 7029) Ari@net Srl (Rotello, Italy) [403.58 km]
 5981) LuvaGroup (Lushnje, Albania) [415.57 km]
15928) Velcom S.r.l.s (Terracina, Italy) [426.26 km]
 2435) Albtelecom sh.a (Durres, Albania) [432.81 km]
17277) Connetta Srl (Sora, IT) [446.40 km]
19068) Seeweb (Frosinone, Italy) [450.42 km]
 7769) SINET Srl (Scanno, Italy) [452.76 km]
14524) ABCom ltd (Tirana, Albania) [453.96 km]
 1755) Vodafone AL (Tirana, Albania) [454.24 km]
 1430) Albtelecom sh.a (Tirana, Albania) [454.24 km]
 3108) ABCOM Shpk (Tirana, Albania) [454.24 km]
 6045) Digicom AL sh.a (Tirana, Albania) [454.24 km]
[...]

リストはかなり長いため、ここにはその一部のみを報告します。特定のサーバーに対して接続をテストするには、--serverオプションを使ってコマンドを実行し、引数としてサーバーID(リストの最初の列に報告されている)を提供します:

speedtest-cli --server 1430

結論

このチュートリアルでは、speedtest-cliアプリケーションのインストールと使用方法を見ました。このプログラムは、https://www.speedtest.netサイトでスピードテストを実行する際のコマンドラインインターフェースの equivalente で、グラフィカルサーバーがインストールされていないマシンで操作する際に非常に便利です。

さまざまな形式での結果を取得する方法、例えばjsonやcsvの形式、そしてそれらを自動的に共有する方法を見ました。また、エンドポイントとして使用されるすべての利用可能なサーバーのリストを生成する方法、および最も近いものの自動検出を使用するのではなく、手動で1つを選択する方法も見ました。

関連記事: