回線速度測定をするためにspeedtest-cliをインストールする【Python】

回線速度測定をするためにspeedtest-cliをインストールする【Python】 プログラミング

Pythonを使って、インターネット回線の速度テストが可能です。
このことの意味することがわかりますか?

実は、これの意味することは結構デカいことです。
Pythonで可能ということは、ブラウザが不要になります。
そして、あなたが回線速度測定ページにアクセスする必要もありません。

これって、プログラムで自動的に回線速度測定ができるということです。
場所や時間にとらわれずに、回線速度測定を行うプログラムは動きます。

もちろん、レンタルサーバーでも動くということです。
このデカいことを実現するために、 speedtest-cliを利用します。

本記事の内容

  • speedtest-cliとは?
  • speedtest-cliのシステム要件
  • speedtest-cliのインストール
  • speedtest-cliの動作確認

それでは、上記に沿って解説していきます。

speedtest-cliとは?

speedtest-cliとは、インターネットの帯域幅をテストするためのコマンドラインインターフェースのことです。
speedtest-cliがテストを行う際には、Speedtestサイトを利用しています。

Speedtest
https://www.speedtest.net/

Speedtestサイトで回線速度測定をした結果は、以下。

この結果は、自分の家からブラウザを使って回線速度を測定したモノです。

また、speedtest-cliはPythonで開発されています。
そして、以下の2つの使い方が用意されています。

  • コマンドラインツール
  • Python API

一般的には、コマンドラインツールとして利用するケースが多いでしょう。
プログラムと連携する場合には、Python APIとして使うことになります。
用途に応じて、使い分けることができそうです。

以上、speedtest-cliについての説明でした。
次は、speedtest-cliのシステム要件を確認します。

speedtest-cliのシステム要件

speedtest-cliの最新バージョンは、2.1.2となります。
この最新バージョンは、2019年8月22日にリリースされています。

メンテナンスの頻度は低いです。
確かに、それほどメンテナンスが必要な機能とは感じませんけどね。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

基本的には、Pythonが動くならOSは問わないということでしょう。
また、サポート対象となるPythonのバージョンは以下。

  • Python 2.4~2.7
  • Python 3.1~3.7

ほぼすべてのPythonで動くことになりそうです。
Python 3.8や3.9が対象に入っていませんが、問題ないでしょう。

なお、私は以下のバージョンで検証しています。

>python -V
Python 3.9.1

以上より、speedtest-cliのシステム要件で特に注意すべきところはありません。
Pythonが動けば、おそらくどこでも動くでしょう。

次は、speedtest-cliのインストールを行っていきます。

speedtest-cliのインストール

最初に、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.0.1
setuptools 54.1.2

次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip

では、speedtest-cliのインストールです。
speedtest-cliのインストールは、以下のコマンドとなります。

pip install speedtest-cli

インストールは、一瞬で終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package       Version
------------- -------
pip           21.0.1
setuptools    54.1.2
speedtest-cli 2.1.2

特に依存するパッケージはないようです。
その意味でも、どんな環境にも気軽に導入できそうです。
Python 2系ですらサポートしていますからね。

では、最後にspeedtest-cliの動作確認を行いましょう。

speedtest-cliの動作確認

コマンドラインツールで動作確認をします。
基本的には、以下のコマンドを実行するだけです。

speedtest-cli

実行した結果は、以下。

>speedtest-cli
Retrieving speedtest.net configuration...
Testing from あなたの使っているプロバイダー (あなたのIPアドレス)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by JAIST(ino-lab) (Nomi) [xxx.xxx km]: xxx.xxx ms
Testing download speed................................................................................
Download: 88.24 Mbit/s
Testing upload speed......................................................................................................
Upload: 88.64 Mbit/s

上記結果では、接続先サーバーがJAIST(ino-lab) (Nomi)です。
先ほど、ブラウザで回線速度測定した際の接続サーバーは、denpa893 (Tokyo)でした。

どうせなら同じサーバーで確認したいですよね。
サーバーを指定して、回線速度測定を実行します。
その場合は、サーバーIDを指定することになります。

>speedtest-cli --server 6492
Retrieving speedtest.net configuration...
Testing from あなたの使っているプロバイダー (あなたのIPアドレス)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by denpa893 (Tokyo) [xxx.xxx km]: xxx.xxx ms
Testing download speed................................................................................
Download: 83.81 Mbit/s
Testing upload speed......................................................................................................
Upload: 85.99 Mbit/s

接続先サーバーが、denpa893 (Tokyo)に変わりました。
ここで用いたサーバーIDは、以下のコマンドでリストを取得できます。

speedtest-cli --list

実行すると、以下のようにサーバー一覧が表示されます。
近くにあるサーバーから表示するようです。

Retrieving speedtest.net configuration...
28910) fdcservers.net (Tokyo, Japan) [0.91 km]
20976) GLBB Japan (Tokyo, Japan) [0.91 km]
21569) i3D.net (Tokyo, Japan) [0.91 km]
24333) Rakuten Mobile, Inc (Tokyo, Japan) [0.91 km]
15047) OPEN Project (via 20G SINET) (Tokyo, Japan) [0.91 km]
19256) love4taylor.com (Tokyo, Japan) [0.91 km]
38241) BudgetVM (Tokyo, Japan) [0.91 km]
6492) denpa893 (Tokyo, Japan) [3.85 km]
14623) IPA CyberLab (Bunkyo, Japan) [6.02 km]
39416) saitama2002 (Saitama, Japan) [19.52 km]
8407) Allied Telesis Capital Corporation (Sagamihara, Japan) [31.46 km]
39306) WRNNS.com (Kawagoe, Japan) [31.98 km]
6087) Allied Telesis Capital Corporation (Fussa-shi, Japan) [32.52 km]
7139) SoftEther Corporation (Tsukuba, Japan) [51.14 km]
37514) しゅーsyuu22397Network (Choshi, Japan) [102.79 km]
・・・

ちなみに、上記はレンタルしているサーバー上でコマンド実行した結果になります。
これを見れば、実行しているサーバーが東京にあるのがわかりますね。

以上、speedtest-cliの動作確認でした。

タイトルとURLをコピーしました