CentOS和OpenEuler转发性能对比

在之前测试VMware vSwitch性能的时候(79.55 Gbps!已经初步测得VMWare ESXi 6.7的vSwitch转发性能),我们测试了几个常见操作系统的打流性能,其中性能最出色的当属国产操作系统OpenEuler(还得是华为,OpenEuler打流能到37 Gbps),打出了37.2 Gbps的好成绩。

图片

但是,我转念一想,这个数据最多也就是说明它的网卡可以收发这么大流量的数据,但是如果是经过主机转发的流量呢?是不是OpenEuler还能继续保持领先优势呢?我们之前也做过简单的测试(如果把Linux主机作为路由器转发流量,性能可靠吗?),不过当时用iperf3打流的性能大概是7.38 Gbps,不知道使用iperf打流是否能得到更高的数据。

测试组网如下:

图片

首先先测试一下CentOS 7的转发性能,需要开启DUT设备的转发功能。

ip add add 11.1.1.1/24 dev ens224ip add list ens224ip add add 22.1.1.1/24 dev ens256ip add list ens256echo 1 > /proc/sys/net/ipv4/ip_forward
图片

然后在两台测试主机上配置好路由条目。

ip route add 22.1.1.0/24 via 11.1.1.1
图片
ip route add 11.1.1.0/24 via 22.1.1.1
图片

首先用iperf142作为服务器,打流测试一下转发性能。

iperf -c 22.1.1.2 -P 8 -i 2 --sum-only -b 20g
图片

经过多次调整,最后测得的转发性能达到了11.5 Gbps,最高有12.5 Gbps,双向的结果差距不大。

再用iperf141作为服务器,反向测试一下。

iperf -c 11.1.1.2 -P 8 -i 2 --sum-only -b 20g
图片

随便一测就是12.4 Gbps,最高达到了13.5 Gbps。

那如果使用VPP进行转发呢(不用半小时,最快8分钟即可在CentOS上完成VPP的部署)

ip link set ens224 downip link set ens256 downvi /etc/vpp/startup.confsystemctl restart vppvppctl show interface addrvppctl set int state eth1 upvppctl set int ip address eth1 11.1.1.1/24vppctl set int state eth2 upvppctl set int ip address eth2 22.1.1.1/24
图片

首先还是用iperf142作为服务器,打流测试一下转发性能。

iperf -c 22.1.1.2 -P 8 -i 2 --sum-only -b 20g
图片

相同的测试参数,转发性能就只有8.51 Gbps了,最高也只有9.25 Gbps。

再用iperf141作为服务器,反向测试一下。

iperf -c 11.1.1.2 -P 8 -i 2 --sum-only -b 20g
图片

大差不差,勉强能到9.05 Gbps,最高也就是9.63 Gbps,相比于内核转发,大概损失了25 %的性能。

接下来让我们看一下OpenEuler的表现,为了公平起见,我使用的还是相同配置的4C4G虚拟机。

配置好网卡地址之后,开启DUT设备的转发功能。

echo 1 > /proc/sys/net/ipv4/ip_forward

首先还是用iperf142作为服务器,打流测试一下转发性能。

iperf -c 22.1.1.2 -P 8 -i 2 --sum-only -b 20g
图片

相同的测试参数,转发性能大约是12.1 Gbps了,最高达到了13.2 Gbps。

再用iperf141作为服务器,反向测试一下。

iperf -c 11.1.1.2 -P 8 -i 2 --sum-only -b 20g
图片

转发性能大约是13.2 Gbps了,最高达到了13.8 Gbps。

好像也没有那么高性能,只是比CentOS稍微高一丢丢罢了,10 %左右吧。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/116077.html

联系我们
联系我们
分享本页
返回顶部