Iperf性能测试的问题小结

发表于:2014-12-12 12:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:琴剑飘零    来源:51Testing软件测试网采编

  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 ...
  设置了这个600M带宽上限之后,iperf就按udp去发了。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号