在未使用该工具之前,一直使用的是 iperf 在 10G 网卡场景下进行 64 字节小包性能测试。若要将 64 字节小包流量发到限速,要么一直增加 iperf 客户端,或者在一个高配 iperf 客户端虚拟机中不断的增加 iperf 进程。即使是这样,将发包达到网卡上限,却依然无法利用好 6wind 的性能。所以考虑使用 DPDK-pktgen 发包工具。该工具基于 DPDK 快速报文处里框架开发,以内核模块的形式存在于系统。
一、环境部署
1.1 安装DPDK
DPDK 可以将用户态的数据不经过内核直接转发到网卡,同样网卡数据也不经过内核直接映射到用户态内存实现加速目的。
使用 pktgen-dpdk 工具,需要先安装 DPDK 环境。下面内容以 18.05 版本的 DPDK 为例进行简要介绍。获取安装包地址请移步:DPDK Download
- 添加环境变量。这里把环境变量添加到
/root/.bashrc
,使环境变量永久生效。
export RTE_SDK=<DPDKInstallDir>
export RTE_TARGET=x86_64-native-linuxapp-gcc
2. 安装所需依赖包。需要注意 kernel 相关安装包版本必须要和操作系统内核版本一致,否则会出现安装失败。
# yum install gcc-c++ gcc glib-devel numactl-devel numactl-libs
# yum install kernel-headers kernel-devel</