您的位置:首页 > 其它

使用DPDK l3fwd测试硬件吞吐性能

2017-02-23 18:42 1451 查看
操作系统版本:centOS6.4

DPDK版本:2.2.0

硬件设备:某硬件厂商,四颗物理CPU,16个万兆光口。

一:编译l3fwd

官网下载dpdk-2.2.0.tar.gz,解压 tar xvf dpdk-2.2.0.tar.gz

进入DPDK目录,cd dpdk-2.2.0/

首先编译x86_64-native-linuxapp-gcc,进入dpdk-2.2.0/tools,运行setup.sh,选择14  [14] x86_64-native-linuxapp-gcc,这一步是为了生成igb_uio.ko,和后续编译l2fwd/l3fwd准备。

编译完成后,进入dpdk-2.2.0/examples/l3fwd,运行make即可生成可执行文件l3fwd

二:运行l3fwd

编译完成后,并不能立即运行l3fwd,首先需要加载dpdk的驱动igb_uio.ko,配置大页内存的操作。

(1)加载igb_uio.ko,进入dpdk-2.2.0/x86_64-native-linuxapp-gcc/kmod,运行命令

         modprobe uio

         insmod igb_uio.ko

(2)配置大页内存:运行命令

       mkdir -p /mnt/huge

       mount -t hugetlfbs nodev /mnt/huge

       echo 1024 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages

   可以通过cat /proc/meminfo 查看大页内存是否配置成功,另外也可以通过vi /etc/grub.conf来配置大页内存

(3)绑定网口,可以通过dpdk-2.2.0/tools/dpdk_nic_bind.py查看哪些网口被DPDK驱动使用,哪些被内核驱动使用,

可以看到igb_uio已经绑定了四个网口

可以运行l3fwd了,输入命令

./l3fwd -c fffffffffff -n4 -- -p 0xf -P --config="(0,0,1)(0,1,2)(1,0,8)(1,1,9)(2,0,16)(2,1,17)(3,0,24)(3,1,25)" 

参数说明:该硬件设备有四个CPU socket,使四个网口绑定到四个不同的CPU socket上,每个网口起两个队列,绑定两个CPU的核。

        注意:PCI插槽对应不同的socket,如果绑错了,会导致测试性能降低

也可以使用l3fwd进行一个网口的自发自收,命令:l3fwd -cff -n 4 -- -p0x1 -P --config=“(0,0,1),(0,1,2),(0,2,3),(0,3,4)”

三:打流量测试

    本次测试使用思博伦测试仪,2544测试用例,使用万兆光口测试,连接到四个网口上。

    思博伦配置说明:选择自发自收,因为之前网卡绑到了不同的CPU上,跨CPU转发包会导致测试性能降低。

 

测试结果,可以看到使用DPDK后,硬件转发报文的性能得到极大提升
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: