Iperf测试:使用udp设定带宽2M,5M,10M,同时观察对正进行的ping测试的影响。证明iperf使用udp测试/使用一定或最大带宽时,同样能影响tcp协议的流量。
任务
(1) (使用UDP,参数-u -b 2M)设定不同带宽
#iperf3-c192.168.199.18-p54321-i1-t1800-u-b1M
(2) 双向同时测试(在任一端多开一个iperf port/进程,然后在同一端使用参数-R进行测试)
服务端执行:
#iperf3-s-p54321 #iperf3-s-p54322
客户端执行:
#iperf3-c192.168.199.18-p54321-i1-t1800-u-b1M #iperf3-c192.168.199.18-p54322-i1-t1800-u-b1M-R
注意事项
TCP协议测试不能计算出时延与丢包率,而且还不能指定发送带宽。
(1) Iperf主要功能:
Iperf可以用来测试网络节点间(也包括回环)TCP或UDP连接的性能,包括测试带宽、抖动以及丢包率,其中抖动和丢包率适应于UDP测试,而带宽测试适应于TCP和UDP。
(2) 双向同时测试方法:在任一端开多一个iperf port/进程(注意Port不同),然后在另一端使用参数-R进行测试
例如:
在测试机A(服务端) 执行:(windows需要打开多一个cmd窗口)
#iperf3-s-p23451 #iperf3-s-p50000
在测试机B(客户端)执行:
#iperf3-c192.168.0.11-p23451-i1-t3600-u-b1M #iperf3-c192.168.0.11-p50000-i1-t3600-u-b1M-R
(3) Jitter(抖动值)就是连续发送时延差值的平均值
(4) 回环测试iperf是否安装成功
#iperf3-s ----------------------------------------------------------- Serverlisteningon5201 ----------------------------------------------------------- #iperf3-c127.0.0.1 Connectingtohost127.0.0.1,port5201 [4]local127.0.0.1port58884connectedto127.0.0.1port5201 [ID]IntervalTransferBandwidthRetrCwnd [4]0.00-1.00sec705MBytes5.92Gbits/sec0560KBytes …..
(5) 测试吞吐量,抖动和丢包率
如果需要同时测试以上三个参数,那么只能通过UDP获得。使用-u参数进行UDP测试(iperf默认为TCP)。
在测试的最后server端会给出一个报告。
要获得带宽数据,需要不断在client端增加带宽值,直到server端出现轻微的丢包为止,此时server端显示的带宽就是被测系统的吞吐量。
(6) 一般来说,我们在做性能测试的时候需要指定包长,不同的包长会得到不同的吞吐量,通过-l指定,而使用-b指定带宽。
(7) 使用TCP测试带宽应注意的问题
有时候,我们需要使用TCP来测试网络带宽。这里有一个参数需要特别注意,那就是TCP窗口大小,可以使用-w参数指定。
网络通道的容量capacity = bandwidth * round-trip time
而理论TCP窗口的大小就是网络通道的容量。
比如,网络带宽为40Mbit/s,回环路径消耗时间是2ms,那么TCP的窗口大小不小于40Mbit/s×2ms = 80kbit = 10Kbytes
此时我们可以查询iperf默认的TCP窗口大小来决定是否需要设置此参数,在此例中,窗口大小应设计大于10Kbytes,当然,这仅仅是理论值,在实际测试中可能需要作出调整。
转载请注明:IT运维空间 » 运维技术 » Iperf网络吞吐量/带宽测试的考虑和总结
发表评论