netperf网卡测速ubuntu linux 环境下测硬件网卡速度

ubuntu 网卡网速测试bondnetperf测试优化tcp

一、测试环境
1.用千兆网线把server和client的机器直接连接在一起;
2.关闭两台机器的iptables;
3.server端执行netserver,client端执行

实例
测两台已经做好bond4的x520网卡的速度

netperf -P 0 -v 0 -H $ip -i 10,2 -I 99,10 -t -- -m 64 -s 32768 -S 32768(其中$ip为server端ip)。

二、优化前

测试3次平均分为833.41分。

三、优化后

在server端/etc/sysctl.conf添加一行

 net.ipv4.tcp_adv_win_scale=2

执行sysctl -p使其生效后再进行测试。

测试3次平均分为940.53分。

在tcp连接中,对于接收端的读缓存而言,接收到一个来自对端的tcp报文时,会使读缓存增加;当接收端的进程读取tcp流时,会使读缓存减少。netperf测试过程中server端接收tcp报文的速率受限于读缓存中实际存放tcp报文缓冲区的大小,这是因为server端进程读取tcp流的速率小于server端接收tcp报文的速率,而这会导致缓冲区逐步被占满。当缓冲区达到上限后,则不会再接收新的报文,进而限制接收tcp报文的最大速率。由此分析将net.ipv4.tcp_adv_win_scale由1改为2后分数的提升,改为2后相当于接收端读缓存实际用来存放tcp报文的缓冲区增加,从而提升接收tcp报文的速率。这与增大测试命令中-s、-S值的效果相同,而测试发现增大-s、-S的值确实会提升测试分数。

下面是测试截图

在这里插入图片描述
在这里插入图片描述
装包netperf

在这里插入图片描述
安装后查看自己的速度
在这里插入图片描述
下面开始测速
注:两台都需要装包,netperf 一台为服务端,一台为客户端

Server 端开启netserver 服务
Client 端根据对应的端口进行netperf测试
服务端:netserver -p 18887
客户端:netperf -H 10.22.11.84 -l 10 -p 18887  (目标IP 10秒测速)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石宗昊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值