6.2. iperf3 を使用した UDP スループットのテスト


iperf3 ユーティリティーは、サーバーモードとクライアントモードを提供し、2 つのホスト間のネットワークスループットテストを実行します。

注記

アプリケーションのスループットは、アプリケーションが使用するバッファーサイズなど、多くの要因に依存します。したがって、iperf3 などのテストユーティリティーで測定された結果は、実稼働ワークロード下のサーバー上のアプリケーションの結果とは大きく異なる可能性があります。

前提条件

  • iperf3 パッケージはクライアントとサーバーの両方にインストールされている。
  • 両方のホスト上の他のサービスによって、テスト結果に大きな影響を与えるネットワークトラフィックが発生することはない。
  • オプション: サーバーとクライアントの両方で最大 UDP ソケットサイズを増やしている。詳細は、システム全体の UDP ソケットバッファーの増加 を参照してください。

手順

  1. オプション: サーバーとクライアントの両方のネットワークインターフェイスコントローラー (NIC) の最大ネットワーク速度を表示します。

    # ethtool enp1s0 | grep "Speed"
       Speed: 10000Mb/s
    Copy to Clipboard Toggle word wrap
  2. サーバー上では以下の設定になります。

    1. UDP ソケット読み取りバッファーの最大サイズを表示し、値をメモします。

      # sysctl net.core.rmem_max
      net.core.rmem_max = 16777216
      Copy to Clipboard Toggle word wrap

      表示される値はバイト単位です。

    2. firewalld サービスでデフォルトの iperf3 ポート 5201 を一時的に開きます。

      # firewall-cmd --add-port=5201/tcp --add-port=5201/udp
      Copy to Clipboard Toggle word wrap

      iperf3 は、サーバー上の TCP ソケットのみを開くことに注意してください。クライアントが UDP を使用する場合、最初にこの TCP ポートに接続します。その後、サーバーが同じポート番号で UDP ソケットを開いて UDP トラフィックのスループットテストを実行します。このため、ローカルファイアウォールで TCP プロトコルと UDP プロトコルの両方に対してポート 5201 を開く必要があります。

    3. iperf3 をサーバーモードで起動します。

      # iperf3 --server
      Copy to Clipboard Toggle word wrap

      サービスは受信クライアント接続を待機するようになります。

  3. クライアントで以下を実行します。

    1. クライアントがサーバーへの接続に使用するインターフェイスの最大伝送単位 (MTU) を表示し、その値をメモします。

      # ip link show enp1s0
      2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
      ...
      Copy to Clipboard Toggle word wrap
    2. UDP ソケット書き込みバッファーの最大サイズを表示し、値をメモします。

      # sysctl net.core.wmem_max
      net.core.wmem_max = 16777216
      Copy to Clipboard Toggle word wrap

      表示される値はバイト単位です。

    3. スループットの測定を開始します。

      # iperf3 --udp --time 60 --window 16777216 --length 1472 --bitrate 2G --client 192.0.2.1
      Copy to Clipboard Toggle word wrap
      • --udp: テストには UDP プロトコルを使用します。
      • --time <seconds>: クライアントが送信を停止する時間を秒単位で定義します。
      • --window <size>: UDP ソケットのバッファーサイズを設定します。理想的には、クライアントとサーバーのサイズが同じです。それらが異なる場合は、このパラメーターを小さい方の値に設定します。クライアントでは net.core.wmem_max、サーバーでは net.core.rmem_max です。
      • --length <size>: 読み取りおよび書き込みを行うバッファーの長さを設定します。このオプションを断片化されていない最大のペイロードに設定します。理想的な値は次のように計算します。MTU - IP ヘッダー (IPv4 の場合は 20 バイト、IPv6 の場合は 40 バイト) - 8 バイトの UDP ヘッダー。
      • --bitrate <rate>: ビットレートをビット/秒単位で指定した値に制限します。2 Gbps の場合は 2G など、単位を指定できます。

        このパラメーターを機能すると予想される値に設定し、後の測定で値を増やします。クライアントが送信パス上のデバイスまたはサーバーが処理できる速度よりも速い速度でパケットを送信すると、パケットがドロップされる可能性があります。

      • --client <server>: クライアントモードを有効にし、iperf3 サーバーを実行するサーバーの IP アドレスまたは名前を設定します。
  4. iperf3 がテストを完了するまで待ちます。サーバーとクライアントの両方で統計が毎秒表示され、最後に概要が表示されます。たとえば、以下はクライアントに表示される概要です。

    [ ID] Interval       Transfer      Bitrate         Jitter    Lost/Total Datagrams
    [ 5] 0.00-60.00 sec  14.0 GBytes   2.00 Gbits/sec  0.000 ms  0/10190216 (0%) sender
    [ 5] 0.00-60.04 sec  14.0 GBytes   2.00 Gbits/sec  0.002 ms  0/10190216 (0%) receiver
    Copy to Clipboard Toggle word wrap

    この例では、平均ビットレートは 2 Gbps で、パケットの損失はありませんでした。

  5. サーバー上では以下の設定になります。

    1. Ctrl+C を押して iperf3 サーバーを停止します。
    2. firewalld のポート 5201 を閉じます。

      # firewall-cmd --remove-port=5201/tcp --remove-port=5201/udp
      Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat