iperfを使用してネットワークのパフォーマンスをテストする


最近ローカルエリアネットワークの下でHTTPサービスの性能をテストして、サーバーは万兆のネットカードを使って、しかしスループットは100 M/sまで上がって行かないで、ネット環境と関係があることを疑って、それからインターネットを利用して検索して1つのとても使いやすいネットの性能のテストツールiperfを発見して、下のパラメータはネットの帯域幅をテストすることができます.

ネットワーク帯域幅のテスト

 
iperf3 -c 127.0.0.1( IP) -P 4 -t 30 -i 2 -p 5001

 
iperf3 -s -p 5001

udpパケット損失率のテスト

 
iperf3 -u -c 127.0.0.1( IP)  -p 5001 -b 100M -t 60

 
iperf3 -s -p 5001

iPerf動作モードとパラメータiPerfの動作時には、サーバモードまたはClientモードを指定し、異なるパラメータで区別(-sおよび-c)する必要があります.iPerf 3でサポートされている機能も、異なるパラメータを設定することで実現されます.iPerfのパラメータは、汎用パラメータ、Server側パラメータ、Client側パラメータの3種類に分類されます.共通パラメータは、Server側とClient側の両方で使用できるパラメータです.以下は、iPerf 3.1.2でサポートされているすべてのパラメータです.-p,--port#,Server側のリスニング、Client側の接続のポート番号、-f,--format[kmgKMG],報告に用いられるデータ単位,Kbits,Mbits,KBytes,Mbytes;-i,--interval#,レポートごとの間隔,単位は秒,-F,--file name,テストに使用するファイルのファイル名.Client側で使用する場合、このファイルをテストとして送信します.サーバ側で使用する場合は、破棄ではなくファイルにデータを書き込みます.-A,--affinity n/n,m,CPU親和力を設定する.-B,--bind,指定したNICインタフェースをバインドする;-V,--verbose、実行時に詳細を出力します.-J,--json,実行時にJSON形式で結果を出力する;–logfile f、ファイルに出力、-d,--debug,debugモードで結果を出力する;-v,--version,バージョン情報を表示して終了する;-h,--help、ヘルプ情報を表示して終了します.Server側パラメータ:-s、--server、Serverモードで実行します.-D,--daemon、バックグラウンドでプロセスの実行を守ります.-I,--pidfile file,pidファイルを指定する;-1,--one-offは,Client側からのテストを1回だけ受け,終了する.Client側パラメータ-c,--client、Clientモードで実行し、Server側のアドレスを指定します.-u,--udp,UDPプロトコルでテストする;b,--bandwidth#[KMG][/#]、テスト帯域幅を制限する.UDPのデフォルトは1 Mbit/秒であり、TCPのデフォルトは無制限である.-t,--time#、時間をテスト終了条件としてテストを行い、デフォルトは10秒です.-n,--bytes#[KMG]は、データ転送サイズをテスト終了条件としてテストを行う.-k,--blockcount#[KMG]は、転送パケット数をテスト終了条件としてテストを行う.-l,--len#[KMG],リードライトバッファ長,TCPデフォルト128 K,UDPデフォルト8 K;cport、Client側が実行するTCPまたはUDPポートを指定し、デフォルトは一時ポートである.-P,--parallel#,テストデータストリームの同時数;-R,--reverse,リバースモード実行(Server側送信,Client側受信);w,--window#[KMG],ソケットバッファサイズを設定し,TCPモードではウィンドウサイズとする.-C,--congestion,TCP混雑制御アルゴリズムを設定する(LinuxとFreeBSDのみをサポートする);M,--set-mss#,TCP/SCTP最大セグメント長(MSS,MTUマイナス40バイト);N,--no-delay,TCP/SCTP no delayを設定し、Nagleアルゴリズムを遮蔽する.-4,--version 4、IPv 4のみを使用します.-6,--version 6,IPv 6のみを使用します.-S,--tos N,IPサービスタイプ(TOS,Type Of Service);L,--flowlabel N,IPv 6ストリームラベルを設定します(Linuxのみサポート);Z,--zerocopy,“zero copy”(ゼロコピー)メソッドを使用してデータを送信します;-O,--omit N,前のn秒のテストを無視します;-T,--title str、各行のテスト結果の接頭辞を設定します.-get-server-output、Server側からテスト結果を取得します.–udp-counters-64 bitは、UDPテストパッケージに64ビットカウンタ(カウンタオーバーフロー防止)を使用します.