Windows に iPerf をインストールする方法

Windows 向けの公式な iPerf3 インストーラーはありませんが、1 つのコマンドで保守されたビルドを入手できます。

winget install -e --id ar51an.iPerf3

パッケージマネージャーを使いたくない場合、手動のルートは、保守されたサードパーティ製ビルドを zip としてダウンロードし、フォルダに展開して、ターミナルでそのフォルダから iperf3 を実行する(またはフォルダを PATH に追加する)ことです。いずれにせよ、サーバーとして実行する場合は Windows Defender ファイアウォールを通過させます。以下の手順では、両方のルートと、人がつまずく落とし穴を扱います。

iPerf は、ご自身が管理する 2 台のマシン間の生のネットワークスループットを測定し、それが「リンクが遅い」という主張のための正直なツールになります。ブラウザなし、気まぐれなサードパーティのテストサーバーなし、ただご自身の 2 つのエンドポイントだけです。設置業者やネットワークエンジニアの定番であり、コマンドラインのみです。

なぜ公式の Windows 版がないのか?

iPerf3 は ESnet によって開発されており、公式にサポートされているプラットフォームは Linux、FreeBSD、macOS のみです。ESnet は Windows をサポートせず Windows バイナリを配布しないので、Windows 向けに見つかるものはすべてサードパーティ製ビルドであり、そのほとんどは Cygwin に対してコンパイルされているため、zip には iperf3.exe とそれが必要とする 1 つ以上の .dll ファイルが一緒に含まれています。それが最初の落とし穴でもあります。exe は、DLL なしでどこかにコピーすると動作しません。展開したフォルダはまとめておいてください。

どこからダウンロードするかに注意してください。「iperf windows」で上位に表示されるいくつかのサイトは、何年も前の古いビルドを載せています。保守されたソースを優先しましょう。GitHub で公開されているコミュニティビルドは最新であり、主要なパッケージマネージャーも保守されたソースから取得します。古い 3.1.x 世代のビルドには Windows で既知の測定上の癖があり、避ける価値があります。

Windows で iPerf3 をそもそも使うべきか?

知識のある読者は、ESnet 自身の FAQ が Windows で iperf2 を推奨していること、そして Microsoft が Three Reasons Why You Should Not Use iPerf3 on Windows と題した記事を公開していることを指摘するでしょう。どちらも実在し、どちらもまっすぐな答えに値します。その批判の多くは、何年も出回っていた古い 3.1.x ビルドを対象としており、そのバンドルされた Cygwin DLL はソケットバッファを制限しスループットの読み取りを歪めていました。現在の保守されたビルドはそれを修正しており、Microsoft 自身の記事も、一般的なスループットテストにおいては Cygwin ベースのツールで問題ないと認め、その異議をラボでのベンチマークやネイティブアプリケーションの動作のシミュレーションに限定しています。

より実際的には、iperf2 と iPerf3 は別々の互換性のないプロトコルであり、公開サーバーのエコシステムとほとんどの最新のツールは iPerf3 に標準化しています。そのため、ご自身がテストする相手が iPerf3 を実行しているなら、iperf2 クライアントは役に立ちません。同じことが Microsoft の提案する代替、ntttcp と ctsTraffic にも当てはまります。どちらも両端に独自のツールが必要で iPerf サーバーとは通信できないので、実際の iPerf3 エンドポイントに対してテストするフィールドツールではなく、ご自身が管理するエンドポイント用のラボツールになります。

現在のビルドを使い、ご自身が管理するサーバーに対してテストすれば、Windows 上の iPerf3 は正直に測定します。

手動でどうインストールするか?

保守されたソースから Windows の zip をダウンロードし、C:\Tools\iperf3 のような適切な場所に展開します。インストールはこれで完了です。Terminal または PowerShell を開き、そのフォルダに移動して、動作を確認します。

cd C:\Tools\iperf3
.\iperf3.exe --version

自身のフォルダから実行するのは、一度きりのターミナル利用には問題ありませんが、どこからでも iperf3 を実行するにはフォルダを PATH に載せる必要があります。スタートで「環境変数」と入力し、ユーザー変数の下の Path を編集し、iperf3 フォルダを追加して、新しいターミナルを開きます。Nexus Telemetry Pro は同じ方法、つまり PATH 経由で iperf3 を見つけるので、手動でインストールして Pro の iPerf クライアントを動作させたいなら、この手順が必要です。これが、zip ではなく winget が代わりに行ってくれる唯一のことです。

パッケージマネージャーでどうインストールするか?

現在の Windows マシンで最もシンプルに動作するルートは winget で、これは組み込みで、保守されたコミュニティビルドを取得し、PATH の設定も代わりに行います。

winget install -e --id ar51an.iPerf3

その後、新しいターミナルを開いて、次のコマンドで確認、チェック、または削除します。

iperf3 --version                       # confirm it works
winget list iperf3                     # see what is installed
winget uninstall --id ar51an.iPerf3    # remove it cleanly

代わりに Chocolatey を使う場合は、昇格したターミナルから choco install iperf3 で同じコマンドラインツールを入手できます。

テストをどう実行するか?

iPerf には 2 つの端が必要です。サーバーとクライアントです。サーバーとして動作するマシンで、次を実行します。

iperf3 -s

これを初めて行うとき、Windows Defender ファイアウォールがプロンプトを出すか、プロンプトを見逃すと接続が静かに失敗します。サーバーモードはデフォルトで TCP ポート 5201 をリッスンするので、プライベートネットワークについて iperf3 をファイアウォールで許可するか、ポート 5201 の受信ルールを追加します。これは、Windows で iPerf テストが「動作しない」最も一般的な理由です。

クライアントマシンで、サーバーの IP アドレスに向けます。

iperf3 -c 192.168.1.50

これはクライアントからサーバーへの 10 秒のアップロードテストを実行します。-R を追加すると方向を逆にしてダウンロードをテストでき、-t 30 でより長いテストになります。ダウンロードとアップロードがまったく異なる代物である Starlink では、両方向でのテストが重要です。

公開の iPerf サーバーについてはどうか?

それらは存在しますが、エコシステムの中で最も信頼性の低い部分です。公開サーバーはしばしば混雑していたり、レート制限されていたり、単に到達不能だったりするので、それに対する失敗したテストはご自身の接続について何も証明しません。公開サーバーは動作するときの便宜として扱い、ご自身が管理するサーバー(オフィスのマシン、VPS、リンクの反対側の Raspberry Pi)を本当の測定として扱ってください。

iPerf が欲しい理由が Starlink 接続のテストなら、Nexus Telemetry Pro には診断に iPerf クライアントが組み込まれています。サーバーを選び、ポート、継続時間、方向を設定して、ping、traceroute、DNS、ポートチェックと並んで実行でき、直近の結果が比較のために保持されます。Pro はご自身のシステム上の iperf3 を駆動するので、先にそれをインストールし、PATH に載っていることを確認してください。上記の winget コマンドは 1 ステップで両方を行います。そこから結果は、その接続の他のテレメトリと同じ場所に届きます。ご自身が両端を管理していてスクリプト化された繰り返し可能な実行が欲しいときは、コマンドラインツールが依然として正しい選択です。

Nexus Telemetry Pro の組み込み iPerf クライアント。サーバー選択、ポート、継続時間、方向のコントロール付き

自分の iPerf サーバーを追加する

公開サーバーが信頼性の低い部分なので、Pro では自分のサーバーのリストを保持できます。iPerf サーバーの管理を開き、My Servers の下に名前、ホスト、ポートを指定して 1 つ追加します。それは今後のすべてのテストでドロップダウンに残ります。厳選された公開サーバーはその下に、トグルの背後にあり、60 秒の上限が明確に示されているので、制限のかかった結果が遅いリンクと取り違えられることはありません。

ダイアログが示す 1 つの重要な点として、iPerf はデフォルトで認証なしで実行されるので、オープンなインターネット上で到達可能なままのサーバーは、誰でもそれに対してトラフィックを流せるものになります。代わりに Tailscale(100.x.x.x)や VPN に置いて、オーバーレイネットワークがアクセスを自分のデバイスに制限するようにし、公開アドレスではなくそのアドレスを Pro に渡してください。

Nexus Telemetry Pro の iPerf サーバー管理ダイアログ:名前、ホスト、ポートを指定して自分のサーバーを追加し、その下に 60 秒の上限が付いた厳選された公開サーバーのリスト

要点

保守されたサードパーティ製ビルドを zip としてダウンロードし、フォルダに展開して、そのフォルダのターミナルから iperf3 を実行し、フォルダを PATH に追加してどこでも動作するようにします(そして Nexus Telemetry Pro が見つけられるようにします)。もっとシンプルに、1 つのコマンドが PATH も含めてすべての作業を行います。

winget install -e --id ar51an.iPerf3

サーバーとして実行する前にファイアウォールを通過させ、DLL を exe の隣に置き、古いダウンロードを避け、公開サーバーを信用しないでください。Starlink の診断には、Pro が同じ iperf3 を、サーバー選択と結果履歴を備えたクライアントで包み込みます。


設置業者とプロのための Starlink の一部。Nexus Telemetry は、初の Starlink Enterprise 管理プラットフォームを手がけたチーム、Liquidbinary Ltd によって作られています。Pro は Windows、macOS、Linux でネイティブに動作し、無料トライアルがあります。

Starlink が見ているものをあなたの目で

Nexus Telemetry をダウンロードして、1分以内にテレメトリデータを取得しましょう。アカウント不要、セットアップ不要です。

Linux 版もあります · macOS 12 以降、Windows 11、Ubuntu 22.04 以降が必要です