抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > jperf linux运行 Linux网络性能评估工具iperf

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

时间:2020-02-14 20:36:41

相关推荐

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~]#tarzxfiperf-3.1.2-source.tar.gz

[root@web1~]#cdiperf-3.1.2

[root@web1iperf-3.1.2]#./configure

[root@web1iperf-3.1.2]#make&&makeinstall

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

Usage:iperf[-s|-chost][options]

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

ServerorClient:

-p,--port#serverporttolistenon/connectto

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

-i,--interval#secondsbetweenperiodicbandwidthreports

-F,--filenamexmit/recvthespecifiedfile

-A,--affinityn/n,msetCPUaffinity

-B,--bindbindtoaspecificinterface

-V,--verbosemoredetailedoutput

-J,--jsonoutputinJSONformat

--logfilefsendoutputtoalogfile

-d,--debugemitdebuggingoutput

-v,--versionshowversioninformationandquit

-h,--helpshowthismessageandquit

Serverspecific:

-s,--serverruninservermode

-D,--daemonruntheserverasadaemon

-I,--pidfilefilewritePIDfile

-1,--one-offhandleoneclientconnectionthenexit

Clientspecific:

-c,--clientruninclientmode,connectingto

-u,--udpuseUDPratherthanTCP

-b,--bandwidth#[KMG][/#]targetbandwidthinbits/sec(0forunlimited)

(default1Mbit/secforUDP,unlimitedforTCP)

(optionalslashandpacketcountforburstmode)

-t,--time#timeinsecondstotransmitfor(default10secs)

-n,--bytes#[KMG]numberofbytestotransmit(insteadof-t)

-k,--blockcount#[KMG]numberofblocks(packets)totransmit(insteadof-tor-n)

-l,--len#[KMG]lengthofbuffertoreadorwrite

(default128KBforTCP,8KBforUDP)

--cportbindtoaspecificclientport(TCPandUDP,default:ephemeralport)

-P,--parallel#numberofparallelclientstreamstorun

-R,--reverseruninreversemode(serversends,clientreceives)

-w,--window#[KMG]setwindowsize/socketbuffersize

-C,--congestionsetTCPcongestioncontrolalgorithm(LinuxandFreeBSDonly)

-M,--set-mss#setTCP/SCTPmaximumsegmentsize(MTU-40bytes)

-N,--no-delaysetTCP/SCTPnodelay,disablingNagle'sAlgorithm

-4,--version4onlyuseIPv4

-6,--version6onlyuseIPv6

-S,--tosNsettheIP'typeofservice'

-L,--flowlabelNsettheIPv6flowlabel(onlysupportedonLinux)

-Z,--zerocopyusea'zerocopy'methodofsendingdata

-O,--omitNomitthefirstnseconds

-T,--titlestrprefixeveryoutputlinewiththisstring

--get-server-outputgetresultsfromserver

--udp-counters-64bituse64-bitcountersinUDPtestpackets

[KMG]indicatesoptionsthatsupportaK/M/Gsuffixforkilo-,mega-,orgiga-

iperf3homepageat:/iperf/

Reportbugsto:/esnet/iperf

Iperf应用实例

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

1、测试TCP吞吐量

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

服务端自动接收客户端的连接请求

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

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

[root@web2~]#iperf3-c192.168.1.250-t20-i5

Connectingtohost192.168.1.250,port5201

[4]local192.168.1.209port55780connectedto192.168.1.250port5201

[ID]IntervalTransferBandwidthRetrCwnd

[4]0.00-5.00sec1.79GBytes3.07Gbits/sec01.07MBytes

[4]5.00-10.00sec1.85GBytes3.18Gbits/sec01.16MBytes

[4]10.00-15.00sec1.83GBytes3.14Gbits/sec01.20MBytes

[4]15.00-20.00sec1.78GBytes3.06Gbits/sec01.24MBytes

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

[ID]IntervalTransferBandwidthRetr

[4]0.00-20.00sec7.25GBytes3.11Gbits/sec0sender

[4]0.00-20.00sec7.24GBytes3.11Gbits/secreceiver

iperfDone.

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

[root@web2~]#iperf3-c192.168.1.250-i2-n5000000000

Connectingtohost192.168.1.250,port5201

[4]local192.168.1.209port56432connectedto192.168.1.250port5201

[ID]IntervalTransferBandwidthRetrCwnd

[4]0.00-2.00sec758MBytes3.18Gbits/sec0952KBytes

[4]2.00-4.00sec769MBytes3.23Gbits/sec0984KBytes

[4]4.00-6.00sec757MBytes3.17Gbits/sec01.01MBytes

[4]6.00-8.00sec684MBytes2.87Gbits/sec01.05MBytes

[4]8.00-10.00sec734MBytes3.08Gbits/sec01.08MBytes

[4]10.00-12.00sec754MBytes3.16Gbits/sec01.11MBytes

[4]12.00-12.88sec313MBytes2.99Gbits/sec01.12MBytes

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

[ID]IntervalTransferBandwidthRetr

[4]0.00-12.88sec4.66GBytes3.11Gbits/sec0sender

[4]0.00-12.88sec4.65GBytes3.10Gbits/secreceiver

iperfDone.

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

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

88Mntopng-2.2.tar.gz

[root@web2~]#iperf3-c192.168.1.250-Fntopng-2.2.tar.gz-t20-i2

Connectingtohost192.168.1.250,port5201

[4]local192.168.1.209port56948connectedto192.168.1.250port5201

[ID]IntervalTransferBandwidthRetrCwnd

[4]0.00-0.12sec36.7MBytes2.47Gbits/sec0420KBytes

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

[ID]IntervalTransferBandwidthRetr

[4]0.00-0.12sec36.7MBytes2.47Gbits/sec0sender

Sent36.7MByte/87.1MByte(42%)ofntopng-2.2.tar.gz

[4]0.00-0.12sec34.9MBytes2.36Gbits/secreceiver

iperfDone.

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

[root@web2~]#iperf3-c192.168.1.250-n10000000000-i5-fM

Connectingtohost192.168.1.250,port5201

[4]local192.168.1.209port57348connectedto192.168.1.250port5201

[ID]IntervalTransferBandwidthRetrCwnd

[4]0.00-5.00sec1.58GBytes324MBytes/sec01.11MBytes

[4]5.00-10.00sec1.62GBytes333MBytes/sec01.21MBytes

[4]10.00-15.00sec1.65GBytes339MBytes/sec01.27MBytes

[4]15.00-20.00sec1.76GBytes361MBytes/sec01.31MBytes

[4]20.00-25.00sec1.82GBytes373MBytes/sec371.32MBytes

[4]25.00-27.36sec886MBytes376MBytes/sec01.35MBytes

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

[ID]IntervalTransferBandwidthRetr

[4]0.00-27.36sec9.31GBytes349MBytes/sec37sender

[4]0.00-27.36sec9.31GBytes348MBytes/secreceiver

iperfDone.[root@web2~]#iperf3-c192.168.1.250-n10000000000-i5

Connectingtohost192.168.1.250,port5201

[4]local192.168.1.209port57585connectedto192.168.1.250port5201

[ID]IntervalTransferBandwidthRetrCwnd

[4]0.00-5.00sec1.87GBytes3.21Gbits/sec0990KBytes

[4]5.00-10.00sec1.87GBytes3.22Gbits/sec01.04MBytes

[4]10.00-15.00sec1.81GBytes3.12Gbits/sec01.12MBytes

[4]15.00-20.00sec1.75GBytes3.01Gbits/sec01.20MBytes

[4]20.00-25.00sec1.76GBytes3.03Gbits/sec141.37MBytes

[4]25.00-25.81sec245MBytes2.53Gbits/sec01.38MBytes

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

[ID]IntervalTransferBandwidthRetr

[4]0.00-25.81sec9.31GBytes3.10Gbits/sec14sender

[4]0.00-25.81sec9.31GBytes3.10Gbits/secreceiver

iperfDone.

5、指定多线程传输[root@web2~]#iperf3-c192.168.1.250-n10000000000-i5-P2-fM

Connectingtohost192.168.1.250,port5201

[4]local192.168.1.209port57751connectedto192.168.1.250port5201

[6]local192.168.1.209port57752connectedto192.168.1.250port5201

[ID]IntervalTransferBandwidthRetrCwnd

[4]0.00-5.00sec905MBytes181MBytes/sec0585KBytes

[6]0.00-5.00sec903MBytes181MBytes/sec0602KBytes

[SUM]0.00-5.00sec1.77GBytes362MBytes/sec0

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

[4]5.00-10.00sec917MBytes183MBytes/sec0687KBytes

[6]5.00-10.00sec917MBytes183MBytes/sec0704KBytes

[SUM]5.00-10.00sec1.79GBytes367MBytes/sec0

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

[4]10.00-15.00sec929MBytes186MBytes/sec0723KBytes

[6]10.00-15.00sec929MBytes186MBytes/sec0735KBytes

[SUM]10.00-15.00sec1.81GBytes372MBytes/sec0

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

[4]15.00-20.00sec921MBytes184MBytes/sec0745KBytes

[6]15.00-20.00sec920MBytes184MBytes/sec0759KBytes

[SUM]15.00-20.00sec1.80GBytes368MBytes/sec0

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

[4]20.00-25.00sec919MBytes184MBytes/sec0782KBytes

[6]20.00-25.00sec919MBytes184MBytes/sec0802KBytes

[SUM]20.00-25.00sec1.79GBytes368MBytes/sec0

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

[4]25.00-25.97sec179MBytes184MBytes/sec0785KBytes

[6]25.00-25.97sec180MBytes185MBytes/sec0803KBytes

[SUM]25.00-25.97sec359MBytes369MBytes/sec0

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

[ID]IntervalTransferBandwidthRetr

[4]0.00-25.97sec4.66GBytes184MBytes/sec0sender

[4]0.00-25.97sec4.65GBytes183MBytes/secreceiver

[6]0.00-25.97sec4.66GBytes184MBytes/sec0sender

[6]0.00-25.97sec4.65GBytes183MBytes/secreceiver

[SUM]0.00-25.97sec9.31GBytes367MBytes/sec0sender

[SUM]0.00-25.97sec9.30GBytes367MBytes/secreceiver

iperfDone.

6、测试UDP丢包和延迟,使用-u参数指定UDP协议,-b(K|M|G)参数指定UD式使用的带宽模式[root@web2~]#iperf3-c192.168.1.250-u-b1G-fM-i2

Connectingtohost192.168.1.250,port5201

[4]local192.168.1.209port45424connectedto192.168.1.250port5201

[ID]IntervalTransferBandwidthTotalDatagrams

[4]0.00-2.00sec81.1MBytes40.5MBytes/sec10377

[4]2.00-4.00sec94.5MBytes47.3MBytes/sec12102

[4]4.00-6.00sec94.6MBytes47.3MBytes/sec12107

[4]6.00-8.00sec103MBytes51.5MBytes/sec13192

[4]8.00-10.00sec93.6MBytes46.8MBytes/sec11983

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

[ID]IntervalTransferBandwidthJitterLost/TotalDatagrams

[4]0.00-10.00sec467MBytes46.7MBytes/sec0.037ms435/59760(0.73%)

[4]Sent59760datagrams

iperfDone.

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

#在服务端的输出

Acceptedconnectionfrom192.168.1.209,port58179

[5]local192.168.1.250port5201connectedto192.168.1.209port45424

[ID]IntervalTransferBandwidthJitterLost/TotalDatagrams

[5]0.00-1.00sec35.6MBytes299Mbits/sec0.054ms29/4590(0.63%)

[5]1.00-2.00sec43.0MBytes361Mbits/sec0.071ms30/5533(0.54%)

[5]2.00-3.00sec48.4MBytes406Mbits/sec0.154ms29/6225(0.47%)

[5]3.00-4.00sec45.6MBytes382Mbits/sec0.026ms6/5837(0.1%)

[5]4.00-5.00sec47.3MBytes397Mbits/sec0.168ms124/6183(2%)

[5]5.00-6.00sec46.1MBytes387Mbits/sec0.023ms40/5941(0.67%)

[5]6.00-7.00sec49.0MBytes411Mbits/sec0.022ms48/6322(0.76%)

[5]7.00-8.00sec53.1MBytes446Mbits/sec0.037ms67/6867(0.98%)

[5]8.00-9.00sec44.9MBytes376Mbits/sec0.163ms26/5769(0.45%)

[5]9.00-10.00sec48.4MBytes406Mbits/sec0.015ms36/6232(0.58%)

[5]10.00-10.04sec2.04MBytes426Mbits/sec0.037ms0/261(0%)

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

[ID]IntervalTransferBandwidthJitterLost/TotalDatagrams

[5]0.00-10.04sec0.00Bytes0.00bits/sec0.037ms435/59760(0.73%)

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

Serverlisteningon5201

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

如果觉得《jperf linux运行 Linux网络性能评估工具iperf》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。