qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

Iperf性能测试的问题小结

1. Iperf用文件作为数据源无效的问题
  Iperf生成的数据包,默认是0-9这10个数字的循环(十六进制的话就是0x30-0x39的循环),我们可能需要去人工指定数据内容,比如全都置成0来方便的查看物理传输过程中的出错情况,于是我造了一个数据文件之后调用:
  iperf -F /root/input_data -c 1.1.1.11 ……
  我修改了一下顺序,同时修改了部分代码之后(所以其实也可能是代码问题,不一定是顺序的问题)先设定目标ip,然后指定文件:
  iperf -c 1.1.1.11 -F /root/input_data……
  就可以了。
  2. 在代码中修改iperf数据,iperf无法收到,但在mac层能拿到数据
  如果不使用问题1所述的用源数据文件的方法,而是在发送方的驱动里面强行修改了数据包的内容,会发现在接收方的驱动中是能够收到数据包的,但是iperf却不能正常接收到数据包,原因如下:
  Iperf在传输层之后还有一个36字节长的首部,作为iperf应用层的首部,如果修改了数据,将导致传传输层/应用层校验失败(传输层使用UDP协议的话,就应该是应用层校验失败了),因此包会被丢掉,iperf无法统计到。
  3. TCP发不出去包的问题
  使用iperf发udp是没有问题的,但是发tcp就有问题,最后发现是因为我指定了带宽:
  iperf -c xxx.xxx.xxx.xxx -i 1 -b 600M ...
 

posted on 2014-12-22 23:28 顺其自然EVO 阅读(410) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(54)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜