Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

iPerfでネットワーク速度と帯域幅(スループット)をテストする方法【Windows/Linux対応】

iPerfは、2つのネットワークノード間の帯域幅をテストするためのオープンソースツールです。2台のホスト間でTCPおよびUDPのトラフィック(負荷)を生成でき、サーバーとクライアント間の最大ネットワーク帯域幅(スループット)を素早く測定できます。ISPの通信回線、ルーター、ネットワークゲートウェイ(ファイアウォール)、有線EthernetやWi-Fiネットワークのストレステストにも活用できる便利なツールです。

本記事では、iPerfを使ってWindowsLinux CentOS上でネットワークスループットを確認する方法を解説します(iPerfにはAndroid、macOS、MikroTik RouterOSなど、他のプラットフォーム向けバージョンも存在します)。

iPerfのバージョン:iPerf2とiPerf3の違い

iPerfはクロスプラットフォームに対応しており、インストール作業は不要です。スループットを測定したい2台のデバイスにコピーして実行するだけで使えます。

iPerfはサーバー・クライアント方式で動作します。1台目のデバイスではiPerfをサーバーモードで起動し(iPerfクライアントからのトラフィックを待ち受けます)、2台目のコンピューターではクライアントモードで起動してTCPまたはUDPトラフィックを生成し、最大データ転送速度を測定します。

現在、iPerf2iPerf3という2つの独立したブランチが並行して開発されています。両者の機能はほぼ互換性がありますが、デフォルトで使用するポートが異なります。iPerf1/2では5001番ポート、iPerf3では5201番ポートです。

  • iPerf2は並列スレッドや双方向テストに適しており、Windows OSで公式サポートされているのはこのバージョンです
  • iPerf3は高速UDPテストの実装に優れており、コード量が大幅に少なく、最適化も進んでいます

その他の違いはさほど大きくないため、特定のバージョンを使う必要はありません(CLIパラメータもほぼ共通です)。本記事ではiperf3を使用します。なお、iPerf3はWindowsプラットフォームで公式サポートされていませんが、実際には問題なく動作し、顕著なバグは確認されていません。バグ報告は https://github.com/esnet/iperf まで送信できます。

WindowsへのiPerfのインストール方法

Windows向けのiPerf 3.1.3は、https://iperf.fr/iperf-download.php からダウンロードできます。iPerf 2.0を使いたい場合も同サイトから入手可能です。インストール作業は不要で、iPerfのアーカイブをダウンロードしてドライブ上の任意のローカルディレクトリに展開するだけでOKです。アーカイブにはcygwin1.dlliperf3.exeの2ファイルのみが含まれています。

Windows向けにはGUI版もいくつか存在します。例えばIperf3-Cygwin-GUIjperfなどです。

jperfはJavaで開発されており(実行にはJava VMが必要です)、CLIに加えてグラフィカルな操作画面を提供し、通信回線の帯域幅チャートをリアルタイムに描画できます。使い方は簡単で、iPerfサーバーのアドレスを指定してスキャンを実行するだけです。

また、PowerShell Script GalleryにはiPerfAutomateモジュールが用意されており、PowerShellスクリプトからネットワークパフォーマンスメトリクスを取得できます。次のコマンドでインストールできます:Install-Module -Name iPerfAutomate

CentOS LinuxへのiPerfのインストール

CentOS 8では、iperf3パッケージはAppStreamベースリポジトリに含まれています(CentOS 7の場合はEPELリポジトリから入手できます)。dnf(yum)コマンドでインストールしましょう:

# dnf install iperf3

Debian/Ubuntuディストリビューションでは、次のコマンドでインストールできます:

sudo apt install iperf3

Linuxマシンをiperf3サーバーとして運用する場合は、firewalld(iptables)でTCP/UDPポート5201を開放する必要があります:

# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --reload

iPerfコマンドでネットワーク速度・帯域幅を測定する

iPerfを使ったスループットテストの具体例を見ていきましょう。ここではLinux CentOSホストをiPerfサーバーとして使用します。まずiPerf3をサーバーモードで起動します:

# iperf3 –s

iPerfサーバーが起動し、TCP 5201番ポートでの接続を待ち受けます:

Server listening on 5201.

ヒント: iPerfの引数は大文字・小文字が区別されるため注意してください。

クライアントとサーバー間のファイアウォール設定によっては、-p[ポート番号] 引数で待ち受けポートを変更できます。また、大きなTCPウィンドウサイズと別のTCPポートを指定してiPerfサーバーを起動することも可能です:

# iperf3 -s -w 32768 –p 5200

  • -w 32768 — TCPウィンドウサイズを32KBに設定(デフォルトは約8KB)
  • –p 5200 — iPerfが接続を待ち受けるポート番号(iPerf2のデフォルトは5001番、iPerf3は5201番)

クライアント側にはWindows 10搭載のPCを使用します。コマンドプロンプトを起動し、iPerf実行ファイルがあるディレクトリへ移動します:
cd c:\tools\iperf
クライアントから帯域幅テストを実行するには、iPerfサーバーのIPアドレス(DNS名でも可)を指定します:
iperf3.exe -c 192.168.1.200
拡張したTCPウィンドウサイズでiPerfサーバーを起動した場合は、次のコマンドで最大ネットワーク負荷をかけることができます:

iperf3.exe -c 192.168.1.200 -P 8 -t 30 -w 32768

  • -c 192.168.1.200 — iPerfサーバーのIPアドレス
  • -w 32768 — TCPウィンドウサイズの拡大
  • -t 30 — テスト時間(秒)(デフォルトは10秒)
  • -P 8 — チャネルに最大負荷をかけるための並列スレッド(ストリーム)数

この例ではテストは30秒間実行されました。最終レポートで注目すべきは、最終行[SUM]Bandwidth列の値です。このケースでは、2ホスト間の平均ネットワーク帯域幅は85.9 Mbit/sでした。307MBのデータ(Transfer列)が、送信側と受信側で対称の速度(sender=receiver)で転送されています。

-f 引数を使えば、速度の表示形式(ビット、キロビット、メガビットなど)を変更できます。また、数分〜数時間にわたる連続テストでは、–i オプションで中間結果を表示する時間間隔を設定しておくと便利です。

逆モード(サーバーがデータを送信し、クライアントが受信する)で実行することも可能です。クライアント側で –R オプションを使用してください。

デフォルトではTCPトラフィックが生成されますが、UDPパケットでの帯域幅を確認したい場合は –u オプションを使用します。その際、iPerfサーバーは iperf3 -s –u で起動します。

ISP(プロバイダ)の帯域幅をテストしたい場合は、公開されているiPerfサーバーを利用するのも一案です:

iperf3 -c iperf.scottlinux.com

双方向(全二重)の最大ネットワーク速度を測定したい場合は、クライアント側で –d オプションを追加します:

iperf3.exe -c IP -P 8 -t 30 -w 32768 –d

iPerfによるテスト中は、タスクマネージャーでネットワーク接続のスループットグラフをリアルタイムに監視することもできます。

注意点として、テスト中のiPerfはクライアントとサーバー間の通信回線の利用可能な全帯域幅を使用するため、本番環境のアプリケーションやユーザーに悪影響を与える可能性があります。業務時間中の本番ネットワークでの実施は避け、影響のない時間帯に実行することをおすすめします。

すべてのオプションの一覧は次のコマンドで確認できます:

iperf3 –help

iPerfはシンプルで扱いやすいネットワークユーティリティであり、2台のデバイス間のネットワーク接続性能と最大データ転送速度を手軽に測定できる強力なツールです。ネットワークのボトルネック調査や機器交換後の性能検証など、さまざまな場面でぜひ活用してみてください。

  1. Android・iPhone対応のおすすめインターネット速度測定アプリ10選

    インターネットが登場して以来、その速度は予想を超える勢いで向上し続けてきました。10年前には2Mbps程度の回線が「高速回線」と呼ばれていた時代を覚えている方もいるでしょう。現在では4Gや5Gの普及により、モバイル回線でも動画ストリーミングを快適に楽しめるようになっています。通信速度が向上する一方で、「この地域で快適に使えるのか」を確認するために、速度測定アプリが欠かせません。 現在、AndroidとiPhone向けには数百種類もの通信速度測定アプリが配信されています。しかし、すべてのアプリが正確な計測結果を提供するわけではありません。そこで本記事では、信頼性の高いおすすめの速度測定アプリ10

  2. Windows 10/8.1/7でネットワークとインターネット接続の問題を解決する方法

    最近のWindows 10アップデート後に、パソコンのネットワークやインターネット接続に問題が発生していませんか?インターネット接続アイコンに黄色い三角マークが表示され、「インターネットアクセスなし」と表示されるのは非常に困りものです。Wi-Fiが頻繁に切断されたり、Windows 10のアップデート後にノートPCがインターネットに接続できなくなったりする症状は、ケーブルモデム、ネットワークアダプターのドライバー、誤ったネットワーク設定、ファイアウォールやウイルス対策ソフトなど、さまざまな原因が考えられます。この記事では、原因を問わずWindows 10のインターネット接続問題を簡単に解決でき