安装

  1. yum install iperf

iperf 架构

iperf 分为客户端和服务端. 服务端开启后, 就可以进行通信了.

应用

带宽测试

带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用-b 100M进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。

UDP模式

服务器端:

  1. // -u udp 模式
  2. // -s 开启服务端
  3. iperf -u -s

输出:

  1. [ 4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 59773
  2. [ 4] 0.0-20.0 sec 2.50 MBytes 1.05 Mbits/sec 0.002 ms 0/ 1784 (0%)

客户端:
在udp模式下,以100Mbps为数据发送速率,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。

  1. iperf -u -c 192.168.1.1 -b 100M -t 60

iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60
客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率。

iperf -u -c 192.168.1.1 -b 100M -d -t 60
以100M为数据发送速率,进行上下行带宽测试。

输出:

  1. # iperf -u -c 127.0.0.1 -b 1M -t 20
  2. ------------------------------------------------------------
  3. Client connecting to 127.0.0.1, UDP port 5001
  4. Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
  5. UDP buffer size: 208 KByte (default)
  6. ------------------------------------------------------------
  7. [ 3] local 127.0.0.1 port 59773 connected with 127.0.0.1 port 5001
  8. [ ID] Interval Transfer Bandwidth
  9. [ 3] 0.0-20.0 sec 2.50 MBytes 1.05 Mbits/sec
  10. [ 3] Sent 1784 datagrams
  11. [ 3] Server Report:
  12. [ 3] 0.0-20.0 sec 2.50 MBytes 1.05 Mbits/sec 0.002 ms 0/ 1784 (0%)

**

TCP模式

服务器端:
iperf -s
客户端:
iperf -c 192.168.1.1 -t 60
在tcp模式下,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。
iperf -c 192.168.1.1 -P 30 -t 60
客户端同时向服务器端发起30个连接线程。
iperf -c 192.168.1.1 -d -t 60
进行上下行带宽测试。