iperf测试UDP带宽

使用iperf的-b参数可以指定带宽大小,请注意这个指定的带宽大小并不是我们要测试的网络的带宽,我们测试的网络的带宽是最大值。

要获得带宽数据,需要通过-b不断在client端增加带宽值,直到server端出现轻微的丢包为止,此时server端显示的带宽就是被测系统的吞吐量。

[ ID] Interval      Transfer    Bandwidth       Jitter  Lost/Total Datagrams

3] 0.0- 1.0 sec 1.40 MBytes 11.7 Mbits/sec  0.069 ms   0/14671 (0%)

3] 1.0- 2.0 sec 1.40 MBytes 11.8 Mbits/sec  0.050 ms   0/14703 (0%)

 Bandwidth的速率乘以时间不等于Transfer的原因是,发送数据包之间有时间间隔。

这里注意,iperf的代码中发送两个数据报之间的时间间隔主要取决于write函数执行时间(while循环的快),如果write发送的数据包大,则write阻塞的时间会长一点,所以发送两个数据报之间的时间间隔也长一点,则相同时间发送的数据报的个数就少。所以虽然数据包大小不一样,但是在同样带宽同样时间的情况下发送的数据总量确是一样的

经过读iperf代码,发现这个结论是错误的,iperf控制UDP模式下的带宽大小是通过控制while循环的delay_loop()函数实现的,在delay_loop()函数中有一个精确的延时nanosleep(),从而控制调用write的时间间隔。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值