jperf linux运行,Linux网络性能评估工具iperf

Iperf介绍

iperf是一个基于TCP/IP和UDP/IP的网络性能测试工具,用于检测网络带宽使用率和网络质量,能测试最大TCP和UDP带宽性能,可以报告带宽、网络延迟抖动、数据包丢失率和最大传输单元等统计信息等。如测试服务器和网络设备如路由器,交换机,防火墙等的网络性能。

Iperf的主要功能

1、TCP方面测试网络带宽

支持多线程,在客户端与服务端支持多重连接

报告MSS/MTU值大小

支持TCP窗口值自定义并可通过套接字缓冲

2、UDP方面可以设置指定带宽的UDP数据流

可以测试网络抖动值、丢包数

支持多播测试

支持多线程,在客户端与服务器端支持多重连接

Iperf的安装

1、下载源码包,官方地址:https://iperf.fr/iperf-download.php

2、安装[root@web1 ~]# tar zxf iperf-3.1.2-source.tar.gz

[root@web1 ~]# cd iperf-3.1.2

[root@web1 iperf-3.1.2]# ./configure

[root@web1 iperf-3.1.2]# make && make install

3、参数(iperf3 -h)[root@web1 ~]# iperf3 -h

Usage: iperf [-s|-c host] [options]

iperf [-h|--help] [-v|--version]

Server or Client:

-p, --port      #         server port to listen on/connect to

-f, --format    [kmgKMG]  format to report: Kbits, Mbits, KBytes, MBytes

-i, --interval  #         seconds between periodic bandwidth reports

-F, --file name           xmit/recv the specified file

-A, --affinity n/n,m      set CPU affinity

-B, --bind          bind to a specific interface

-V, --verbose             more detailed output

-J, --json                output in JSON format

--logfile f               send output to a log file

-d, --debug               emit debugging output

-v, --version             show version information and quit

-h, --help                show this message and quit

Server specific:

-s, --server              run in server mode

-D, --daemon              run the server as a daemon

-I, --pidfile file        write PID file

-1, --one-off             handle one client connection then exit

Client specific:

-c, --client        run in client mode, connecting to 

-u, --udp                 use UDP rather than TCP

-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)

(default 1 Mbit/sec for UDP, unlimited for TCP)

(optional slash and packet count for burst mode)

-t, --time      #         time in seconds to transmit for (default 10 secs)

-n, --bytes     #[KMG]    number of bytes to transmit (instead of -t)

-k, --blockcount #[KMG]   number of blocks (packets) to transmit (instead of -t or -n)

-l, --len       #[KMG]    length of buffer to read or write

(default 128 KB for TCP, 8 KB for UDP)

--cport             bind to a specific client port (TCP and UDP, default: ephemeral port)

-P, --parallel  #         number of parallel client streams to run

-R, --reverse             run in reverse mode (server sends, client receives)

-w, --window    #[KMG]    set window size / socket buffer size

-C, --congestion    set TCP congestion control algorithm (Linux and FreeBSD only)

-M, --set-mss   #         set TCP/SCTP maximum segment size (MTU - 40 bytes)

-N, --no-delay            set TCP/SCTP no delay, disabling Nagle's Algorithm

-4, --version4            only use IPv4

-6, --version6            only use IPv6

-S, --tos N               set the IP 'type of service'

-L, --flowlabel N         set the IPv6 flow label (only supported on Linux)

-Z, --zerocopy            use a 'zero copy' method of sending data

-O, --omit N              omit the first n seconds

-T, --title str           prefix every output line with this string

--get-server-output       get results from server

--udp-counters-64bit      use 64-bit counters in UDP test packets

[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-

iperf3 homepage at: http://software.es.net/iperf/

Report bugs to:     https://github.com/esnet/iperf

Iperf应用实例

iperf是以C/S模式工作,运行于服务端和客户端下。服务端主要用于监听到达的测试请求,而客户端主要用于发起连接会话。因此要使用iperf,需要两台服务器,一台运行在服务器模式下,一台运行在客户端模式下。

1、测试TCP吞吐量

启动一个服务器端,使用iperf -s命令,默认监听5201端口,在客户端使用iperf -c +服务端ip,运行测试(这里使用web1作为服务端,web2作为客户端)

71bca8442d3738287c86fea7555a9aaf.png服务端自动接收客户端的连接请求

4621a2de8aaed6a7d6ca324cb7ae83a8.png

由输出结果看出,iperf默认输出10s的状态,Transfer列输出每秒的数量量在370MB左右,Bandwidth列显示网卡的速率

2、指定iperf的运行时间(-t参数)和输出速率(-i参数)##指定20秒内每隔5秒输出一次结果

[root@web2 ~]# iperf3 -c 192.168.1.250 -t 20 -i 5

Connecting to host 192.168.1.250, port 5201

[  4] local 192.168.1.209 port 55780 connected to 192.168.1.250 port 5201

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd

[  4]   0.00-5.00   sec  1.79 GBytes  3.07 Gbits/sec    0   1.07 MBytes

[  4]   5.00-10.00  sec  1.85 GBytes  3.18 Gbits/sec    0   1.16 MBytes

[  4]  10.00-15.00  sec  1.83 GBytes  3.14 Gbits/sec    0   1.20 MBytes

[  4]  15.00-20.00  sec  1.78 GBytes  3.06 Gbits/sec    0   1.24 MBytes

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Retr

[  4]   0.00-20.00  sec  7.25 GBytes  3.11 Gbits/sec    0             sender

[  4]   0.00-20.00  sec  7.24 GBytes  3.11 Gbits/sec                  receiver

iperf Done.

3、指定发送数据量(-n参数)#指定发送一个5GB左右的数据包,并且每隔2秒输出状态结果

[root@web2 ~]# iperf3 -c 192.168.1.250 -i 2 -n 5000000000

Connecting to host 192.168.1.250, port 5201

[  4] local 192.168.1.209 port 56432 connected to 192.168.1.250 port 5201

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd

[  4]   0.00-2.00   sec   758 MBytes  3.18 Gbits/sec    0    952 KBytes

[  4]   2.00-4.00   sec   769 MBytes  3.23 Gbits/sec    0    984 KBytes

[  4]   4.00-6.00   sec   757 MBytes  3.17 Gbits/sec    0   1.01 MBytes

[  4]   6.00-8.00   sec   684 MBytes  2.87 Gbits/sec    0   1.05 MBytes

[  4]   8.00-10.00  sec   734 MBytes  3.08 Gbits/sec    0   1.08 MBytes

[  4]  10.00-12.00  sec   754 MBytes  3.16 Gbits/sec    0   1.11 MBytes

[  4]  12.00-12.88  sec   313 MBytes  2.99 Gbits/sec    0   1.12 MBytes

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Retr

[  4]   0.00-12.88  sec  4.66 GBytes  3.11 Gbits/sec    0             sender

[  4]   0.00-12.88  sec  4.65 GBytes  3.10 Gbits/sec                  receiver

iperf Done.

##指定一个文件传输(-F)

[root@web2 ~]# du -sh ntopng-2.2.tar.gz

88Mntopng-2.2.tar.gz

[root@web2 ~]# iperf3 -c 192.168.1.250 -F ntopng-2.2.tar.gz -t 20-i 2

Connecting to host 192.168.1.250, port 5201

[  4] local 192.168.1.209 port 56948 connected to 192.168.1.250 port 5201

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd

[  4]   0.00-0.12   sec  36.7 MBytes  2.47 Gbits/sec    0    420 KBytes

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Retr

[  4]   0.00-0.12   sec  36.7 MBytes  2.47 Gbits/sec    0             sender

Sent 36.7 MByte / 87.1 MByte (42%) of ntopng-2.2.tar.gz

[  4]   0.00-0.12   sec  34.9 MBytes  2.36 Gbits/sec                  receiver

iperf Done.

4、指定多线程网络传输测试(-P),同时可以使用-f M参数将结果通过MBytes/sec来显示#使用单线程传输,传输10GB的数据一共消耗了27.36秒,平均速率为350 MBytes/sec

[root@web2 ~]# iperf3 -c 192.168.1.250 -n 10000000000 -i 5 -f M

Connecting to host 192.168.1.250, port 5201

[  4] local 192.168.1.209 port 57348 connected to 192.168.1.250 port 5201

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd

[  4]   0.00-5.00   sec  1.58 GBytes   324 MBytes/sec    0   1.11 MBytes

[  4]   5.00-10.00  sec  1.62 GBytes   333 MBytes/sec    0   1.21 MBytes

[  4]  10.00-15.00  sec  1.65 GBytes   339 MBytes/sec    0   1.27 MBytes

[  4]  15.00-20.00  sec  1.76 GBytes   361 MBytes/sec    0   1.31 MBytes

[  4]  20.00-25.00  sec  1.82 GBytes   373 MBytes/sec   37   1.32 MBytes

[  4]  25.00-27.36  sec   886 MBytes   376 MBytes/sec    0   1.35 MBytes

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Retr

[  4]   0.00-27.36  sec  9.31 GBytes   349 MBytes/sec   37             sender

[  4]   0.00-27.36  sec  9.31 GBytes   348 MBytes/sec                  receiver

iperf Done.[root@web2 ~]# iperf3 -c 192.168.1.250 -n 10000000000 -i 5

Connecting to host 192.168.1.250, port 5201

[  4] local 192.168.1.209 port 57585 connected to 192.168.1.250 port 5201

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd

[  4]   0.00-5.00   sec  1.87 GBytes  3.21 Gbits/sec    0    990 KBytes

[  4]   5.00-10.00  sec  1.87 GBytes  3.22 Gbits/sec    0   1.04 MBytes

[  4]  10.00-15.00  sec  1.81 GBytes  3.12 Gbits/sec    0   1.12 MBytes

[  4]  15.00-20.00  sec  1.75 GBytes  3.01 Gbits/sec    0   1.20 MBytes

[  4]  20.00-25.00  sec  1.76 GBytes  3.03 Gbits/sec   14   1.37 MBytes

[  4]  25.00-25.81  sec   245 MBytes  2.53 Gbits/sec    0   1.38 MBytes

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Retr

[  4]   0.00-25.81  sec  9.31 GBytes  3.10 Gbits/sec   14             sender

[  4]   0.00-25.81  sec  9.31 GBytes  3.10 Gbits/sec                  receiver

iperf Done.

5、指定多线程传输[root@web2 ~]# iperf3 -c 192.168.1.250 -n 10000000000 -i 5 -P 2 -f M

Connecting to host 192.168.1.250, port 5201

[  4] local 192.168.1.209 port 57751 connected to 192.168.1.250 port 5201

[  6] local 192.168.1.209 port 57752 connected to 192.168.1.250 port 5201

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd

[  4]   0.00-5.00   sec   905 MBytes   181 MBytes/sec    0    585 KBytes

[  6]   0.00-5.00   sec   903 MBytes   181 MBytes/sec    0    602 KBytes

[SUM]   0.00-5.00   sec  1.77 GBytes   362 MBytes/sec    0

- - - - - - - - - - - - - - - - - - - - - - - - -

[  4]   5.00-10.00  sec   917 MBytes   183 MBytes/sec    0    687 KBytes

[  6]   5.00-10.00  sec   917 MBytes   183 MBytes/sec    0    704 KBytes

[SUM]   5.00-10.00  sec  1.79 GBytes   367 MBytes/sec    0

- - - - - - - - - - - - - - - - - - - - - - - - -

[  4]  10.00-15.00  sec   929 MBytes   186 MBytes/sec    0    723 KBytes

[  6]  10.00-15.00  sec   929 MBytes   186 MBytes/sec    0    735 KBytes

[SUM]  10.00-15.00  sec  1.81 GBytes   372 MBytes/sec    0

- - - - - - - - - - - - - - - - - - - - - - - - -

[  4]  15.00-20.00  sec   921 MBytes   184 MBytes/sec    0    745 KBytes

[  6]  15.00-20.00  sec   920 MBytes   184 MBytes/sec    0    759 KBytes

[SUM]  15.00-20.00  sec  1.80 GBytes   368 MBytes/sec    0

- - - - - - - - - - - - - - - - - - - - - - - - -

[  4]  20.00-25.00  sec   919 MBytes   184 MBytes/sec    0    782 KBytes

[  6]  20.00-25.00  sec   919 MBytes   184 MBytes/sec    0    802 KBytes

[SUM]  20.00-25.00  sec  1.79 GBytes   368 MBytes/sec    0

- - - - - - - - - - - - - - - - - - - - - - - - -

[  4]  25.00-25.97  sec   179 MBytes   184 MBytes/sec    0    785 KBytes

[  6]  25.00-25.97  sec   180 MBytes   185 MBytes/sec    0    803 KBytes

[SUM]  25.00-25.97  sec   359 MBytes   369 MBytes/sec    0

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Retr

[  4]   0.00-25.97  sec  4.66 GBytes   184 MBytes/sec    0             sender

[  4]   0.00-25.97  sec  4.65 GBytes   183 MBytes/sec                  receiver

[  6]   0.00-25.97  sec  4.66 GBytes   184 MBytes/sec    0             sender

[  6]   0.00-25.97  sec  4.65 GBytes   183 MBytes/sec                  receiver

[SUM]   0.00-25.97  sec  9.31 GBytes   367 MBytes/sec    0             sender

[SUM]   0.00-25.97  sec  9.30 GBytes   367 MBytes/sec                  receiver

iperf Done.

6、测试UDP丢包和延迟,使用-u参数指定UDP协议,-b(K|M|G)参数指定UD式使用的带宽模式[root@web2 ~]# iperf3 -c 192.168.1.250 -u -b 1G -f M -i 2

Connecting to host 192.168.1.250, port 5201

[  4] local 192.168.1.209 port 45424 connected to 192.168.1.250 port 5201

[ ID] Interval           Transfer     Bandwidth       Total Datagrams

[  4]   0.00-2.00   sec  81.1 MBytes  40.5 MBytes/sec  10377

[  4]   2.00-4.00   sec  94.5 MBytes  47.3 MBytes/sec  12102

[  4]   4.00-6.00   sec  94.6 MBytes  47.3 MBytes/sec  12107

[  4]   6.00-8.00   sec   103 MBytes  51.5 MBytes/sec  13192

[  4]   8.00-10.00  sec  93.6 MBytes  46.8 MBytes/sec  11983

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams

[  4]   0.00-10.00  sec   467 MBytes  46.7 MBytes/sec  0.037 ms  435/59760 (0.73%)

[  4] Sent 59760 datagrams

iperf Done.

由输出结果显示,Jitter表示抖动时间,或者称为传输延迟,Lost/Total表示丢失的数据包和总的数据包数量,Datagrams表示总共传输数据包的数量

#在服务端的输出

Accepted connection from 192.168.1.209, port 58179

[  5] local 192.168.1.250 port 5201 connected to 192.168.1.209 port 45424

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams

[  5]   0.00-1.00   sec  35.6 MBytes   299 Mbits/sec  0.054 ms  29/4590 (0.63%)

[  5]   1.00-2.00   sec  43.0 MBytes   361 Mbits/sec  0.071 ms  30/5533 (0.54%)

[  5]   2.00-3.00   sec  48.4 MBytes   406 Mbits/sec  0.154 ms  29/6225 (0.47%)

[  5]   3.00-4.00   sec  45.6 MBytes   382 Mbits/sec  0.026 ms  6/5837 (0.1%)

[  5]   4.00-5.00   sec  47.3 MBytes   397 Mbits/sec  0.168 ms  124/6183 (2%)

[  5]   5.00-6.00   sec  46.1 MBytes   387 Mbits/sec  0.023 ms  40/5941 (0.67%)

[  5]   6.00-7.00   sec  49.0 MBytes   411 Mbits/sec  0.022 ms  48/6322 (0.76%)

[  5]   7.00-8.00   sec  53.1 MBytes   446 Mbits/sec  0.037 ms  67/6867 (0.98%)

[  5]   8.00-9.00   sec  44.9 MBytes   376 Mbits/sec  0.163 ms  26/5769 (0.45%)

[  5]   9.00-10.00  sec  48.4 MBytes   406 Mbits/sec  0.015 ms  36/6232 (0.58%)

[  5]  10.00-10.04  sec  2.04 MBytes   426 Mbits/sec  0.037 ms  0/261 (0%)

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams

[  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec  0.037 ms  435/59760 (0.73%)

-----------------------------------------------------------

Server listening on 5201

-----------------------------------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值