ネットワーク接続速度を検証できると、コンピュータをコントロールできるようになります。 コマンドラインでインターネットやネットワークの速度をチェックできる 3 つのオープン ソース ツールは、Speedtest、Fast、iPerf です。
Speedtest
Speedtest は昔からのお気に入りです。 Python で実装され、Apt でパッケージ化されており、pip でも利用できます。 コマンドラインツールとしても、Pythonスクリプト内でも使用できます。
次のようにインストールします:
sudo apt install speedtest-cli
または
sudo pip3 install speedtest-cli
次に speedtest というコマンドで実行します:
$ speedtest
Retrieving speedtest.net configuration...
Testing from CenturyLink (65.128.194.58)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by CenturyLink (Cambridge, UK) : 31.566 ms
Testing download speed................................................................................
Download: 68.62 Mbit/s
Testing upload speed......................................................................................................
Upload: 10.93 Mbit/s
これで、インターネットのダウンロードとアップロードの速度がわかります。
Fast
Fastは、Netflixが提供するサービスです。
npm install --global fast-cli
Web サイトとコマンドライン ユーティリティの両方とも、同じ基本的なインターフェイスを提供しています:シンプルなスピード テストです。 アップロード速度を取得するには、-u フラグを使用します:
$ fast -u
⠧ 80 Mbps ↓ / 8.2 Mbps
iPerf
iPerf は、LAN 速度 (前の 2 つのツールのように、インターネット速度ではなく) をテストするのに最適な方法です。
sudo apt install iperf
MacやWindowsにも対応しています。
インストールしたら、同じネットワーク上に2台のマシンが必要です (両方ともiPerfがインストールされている必要があります)。
サーバーとして指定します。
ip addr show | grep inet.*brd
ローカルIPアドレス(IPv4ローカルネットワークを想定)は192.168または10で始まります。
サーバーでiperfを起動します。
iperf -s
クライアントからの接続を待ちます。 別のマシンをクライアントとして指定し、次のコマンドを実行します。ここで、サンプルのIPアドレスをサーバー マシンのIPアドレスに置き換えてください:
iperf -c 192.168.1.2
テストには数秒しかかからず、転送サイズと計算された帯域幅が返されます。 私は、自宅のサーバーをサーバーマシンとして使用し、PCとノートPCからいくつかのテストを行いました。 最近、家の周りにCat6 Ethernetを設置したので、有線接続では最大1Gbpsの速度が得られますが、WiFi接続ではかなり低い速度になります。
16Gbpsを記録したところに気がつくかもしれません。 これは私がサーバーを使って自分自身をテストしたもので、自分自身のディスクにどれだけ速く書き込めるかをテストしているのです。
まとめ
これらのツールを使えば、ネットワークの速度を知ることはかなり簡単な作業です。 スクリプトを作成したり、コマンド ラインからこれらを実行したりして楽しみたい場合は、上記のプロジェクトのいずれかを使用することができます。 特定のポイントツーポイントのメトリクスが必要な場合は、iPerf がお勧めです。