iperf命令数据分析

iperf命令通常用来测网络带宽,命令的相关参数网络上的资料很详细,此处不做赘述,本文旨在说明iperf产生的数据。

我们假设服务器端IP: 192.168.0.136   客户端IP: 192.168.0.112

服务器端运行命令:iperf -s

客户端运行命令:iperf -c 192.168.0.136 -P 5 -t 10 -i 1 -l 1K

与服务器192.168.0.136连接,同时运行5个线程,测试时间为10s,每1s总结一次带宽报告,读写缓冲区大小为1K


客户端数据如下:

------------------------------------------------------------
Client connecting to 192.168.0.136, TCP port 5001
TCP window size: 1.06 MByte (default)
------------------------------------------------------------
[  3] local 192.168.0.112 port 53892 connected with 192.168.0.136 port 5001//启动了5了线程,开头方括号内数字为线程
[  7] local 192.168.0.112 port 53896 connected with 192.168.0.136 port 5001//编号,主要为了在接下来的数据中可以分辨
[  5] local 192.168.0.112 port 53894 connected with 192.168.0.136 port 5001//出各个线程。
[  6] local 192.168.0.112 port 53895 connected with 192.168.0.136 port 5001//五个线程都成功连接上了服务器
[  4] local 192.168.0.112 port 53893 connected with 192.168.0.136 port 5001//端口号默认5001
[ ID] Interval       Transfer     Bandwidth                           //第一列,interval,表示时间区间
[  7]  0.0- 1.0 sec  1.49 MBytes  12.5 Mbits/sec  //第二列,transfer,表示传输的数据量
[  3]  0.0- 1.0 sec   699 KBytes  5.73 Mbits/sec                //第三列,bandwidth,表示传输的带宽
[  3]  1.0- 2.0 sec  2.76 MBytes  23.2 Mbits/sec
[  7]  1.0- 2.0 sec  8.20 MBytes  68.8 Mbits/sec
[  5]  0.0- 1.0 sec  8.73 MBytes  73.2 Mbits/sec                //由于是多个线程同时运行,所以每个线程的带宽都不是真正的带宽
[  5]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec   //真正的带宽是以SUM标识的行,我们的客户端命令是1s总结一次
[  6]  0.0- 1.0 sec   699 KBytes  5.73 Mbits/sec    //带宽报告,所以我们把相同时间区间的线程的运行带宽相加会发
[  6]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec   //现大约等于SUM的实际带宽
[  4]  0.0- 1.0 sec   699 KBytes  5.73 Mbits/sec
[SUM]  0.0- 1.0 sec  12.3 MBytes   103 Mbits/sec
[  4]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[SUM]  1.0- 2.0 sec  11.0 MBytes  92.0 Mbits/sec
[  4]  2.0- 3.0 sec  2.43 MBytes  20.4 Mbits/sec
[  3]  2.0- 3.0 sec  6.81 MBytes  57.1 Mbits/sec
[  7]  2.0- 3.0 sec   698 KBytes  5.72 Mbits/sec
[  5]  2.0- 3.0 sec   698 KBytes  5.72 Mbits/sec
[  6]  2.0- 3.0 sec   698 KBytes  5.72 Mbits/sec
[SUM]  2.0- 3.0 sec  11.3 MBytes  94.7 Mbits/sec
[  6]  3.0- 4.0 sec  1.16 MBytes  9.72 Mbits/sec
[  3]  3.0- 4.0 sec  1.01 MBytes  8.50 Mbits/sec
[  7]  3.0- 4.0 sec   698 KBytes  5.72 Mbits/sec
[  5]  3.0- 4.0 sec   698 KBytes  5.72 Mbits/sec
[  4]  3.0- 4.0 sec  8.76 MBytes  73.5 Mbits/sec
[SUM]  3.0- 4.0 sec  12.3 MBytes   103 Mbits/sec
[  5]  4.0- 5.0 sec  1.95 MBytes  16.4 Mbits/sec
[  7]  4.0- 5.0 sec  1.41 MBytes  11.8 Mbits/sec
[  3]  4.0- 5.0 sec  1.36 MBytes  11.4 Mbits/sec
[  4]  4.0- 5.0 sec  1.75 MBytes  14.7 Mbits/sec
[  6]  4.0- 5.0 sec  8.67 MBytes  72.7 Mbits/sec
[SUM]  4.0- 5.0 sec  15.1 MBytes   127 Mbits/sec
[  3]  5.0- 6.0 sec  1.36 MBytes  11.4 Mbits/sec
[  7]  5.0- 6.0 sec  1.56 MBytes  13.0 Mbits/sec
[  5]  5.0- 6.0 sec  3.79 MBytes  31.8 Mbits/sec
[  6]  5.0- 6.0 sec  2.03 MBytes  17.0 Mbits/sec
[  4]  5.0- 6.0 sec  1.93 MBytes  16.2 Mbits/sec
[SUM]  5.0- 6.0 sec  10.7 MBytes  89.5 Mbits/sec
[  3]  6.0- 7.0 sec  3.18 MBytes  26.7 Mbits/sec
[  5]  6.0- 7.0 sec  2.16 MBytes  18.1 Mbits/sec
[  6]  6.0- 7.0 sec  1.36 MBytes  11.4 Mbits/sec

服务器端数据如下:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  6] local 192.168.0.136 port 5001 connected with 192.168.0.112 port 53896
[  4] local 192.168.0.136 port 5001 connected with 192.168.0.112 port 53892
[  7] local 192.168.0.136 port 5001 connected with 192.168.0.112 port 53894
[  5] local 192.168.0.136 port 5001 connected with 192.168.0.112 port 53893
[  8] local 192.168.0.136 port 5001 connected with 192.168.0.112 port 53895
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.7 sec  25.6 MBytes  20.1 Mbits/sec
[  6]  0.0-27.2 sec  22.7 MBytes  7.00 Mbits/sec
[  7]  0.0-27.2 sec  25.1 MBytes  7.74 Mbits/sec
[  5]  0.0-27.2 sec  24.7 MBytes  7.63 Mbits/sec
[  8]  0.0-27.2 sec  21.7 MBytes  6.68 Mbits/sec
[SUM]  0.0-27.2 sec   120 MBytes  36.9 Mbits/sec

这时你可能会发现一个问题,服务器端和客户端的带宽不一样,服务器端只有36.9Mbits/s,而客户端基本上在90到130之间。

以下是个人理解,不一定正确)这个原因是,服务器端运行的时间更长,传输的数据量两端都是一样的,运行时间长的,带宽就小,因为可能存在这样一段时间,服务器起了,而客户端还没启动之前,或者客户端已经结束传输,但是链路还没完全关闭,这个时候客户端已经开始计算带宽了,而服务器还要傻傻的在等待一段时间,所以服务器端带宽要小于客户端。

而实际上客户端的带宽是相对准确的

iperf命令的-t参数指定运行的时间,这个时间越长,服务器端和客户端的带宽越接近

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值