====== 02_ネットワーク負荷試験iperf ======
ネットワークの帯域を計測する便利なツール
※iperfはUDPでは1Gbitとか大きな帯域だと、想定通りの数値が出ない
tcpでbandwidthを指定せず実行すると想定内の数値が出ます。
===== インストール =====
[[01_linux:01_net:11_yum_rpmforgeレポジトリ追加|RPMforgeリポジトリ]] を追加してからyumでインストール
# yum install iperf
===== TCP =====
=== サーバ側 ===
# iperf -s -p 8080 -i 1
=== クライアント側 ===
# iperf -c 192.168.10.10 -p 8080 -i 1
===== UDP =====
=== サーバ側 ===
# iperf -s -p 8080 -u -i 1
=== クライアント側 ===
# iperf -c 192.168.10.10 -p 8080 -u -b 200M -i 1
===== オプション一覧 =====
# iperf --help
Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version]
Client/Server:
-f, --format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes
-i, --interval # seconds between periodic bandwidth reports
-l, --len #[KM] length of buffer to read or write (default 8 KB)
-m, --print_mss print TCP maximum segment size (MTU - TCP/IP header)
-o, --output output the report or error message to this specified file
-p, --port # server port to listen on/connect to
-u, --udp use UDP rather than TCP
-w, --window #[KM] TCP window size (socket buffer size)
-B, --bind bind to , an interface or multicast address
-C, --compatibility for use with older versions does not sent extra msgs
-M, --mss # set TCP maximum segment size (MTU - 40 bytes)
-N, --nodelay set TCP no delay, disabling Nagle's Algorithm
-V, --IPv6Version Set the domain to IPv6
Server specific:
-s, --server run in server mode
-U, --single_udp run in single threaded UDP mode
-D, --daemon run the server as a daemon
Client specific:
-b, --bandwidth #[KM] for UDP, bandwidth to send at in bits/sec
(default 1 Mbit/sec, implies -u)
-c, --client run in client mode, connecting to
-d, --dualtest Do a bidirectional test simultaneously
-n, --num #[KM] number of bytes to transmit (instead of -t)
-r, --tradeoff Do a bidirectional test individually
-t, --time # time in seconds to transmit for (default 10 secs)
-F, --fileinput input the data to be transmitted from a file
-I, --stdin input the data to be transmitted from stdin
-L, --listenport # port to recieve bidirectional tests back on
-P, --parallel # number of parallel client threads to run
-T, --ttl # time-to-live, for multicast (default 1)
-Z, --linux-congestion set TCP congestion control algorithm (Linux only)
Miscellaneous:
-x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports
-y, --reportstyle C report as a Comma-Separated Values
-h, --help print this message and quit
-v, --version print version information and quit
===== ロードバランサーを通しての帯域テストの場合 =====
LVSの場合
ipvsadm -A -u [ロードバランスIP]:8080 -s wrr
ipvsadm -a -u [ロードバランスIP]:53 -r 10.10.0.10
ロードバランスと、10.10.0.10で帯域を測ってみる
{{tag>network}}