dperf是百度近日开源的基于DPDK与用户态协定栈技术的一款高性能HTTP压测工具。本文领导DPDK老手们如何胜利迈出应用dperf的第一步:编译DPDK。DPDK大牛可疏忽此文或者看一眼build.md即可。

因为从DPDK-20开始,编译有较大的变动,DPDK编译系列分为两篇文章介绍。本篇文章介绍DPDK-19.11编译,DPDK-19以前版本的编译办法与DPDK-19.11雷同;另一篇文章介绍DPDK-20.11编译。

筹备工作

操作系统:举荐CentOS 7.9,内核版本4.X,5.X也能够,低版本内核反对Mellanox驱动比拟麻烦
DPDK:下载DPDK-19.11.10

查看网卡厂商与驱动型号(命令参考):

lspci | grep Ethernetethtool -i eth0

Mellanox网卡驱动编译(可选)

如果网卡不是Mellanox的,请跳过本节。
下载社区驱动rdma-core-stable-v22
编译

cd /root/rdma-core-stable-v22/build.sh

设置环境变量

RDMA_CORE_BUILD_DIR=/root/rdma-core-stable-v22/buildexport C_INCLUDE_PATH=$RDMA_CORE_BUILD_DIR/includeexport LIBRARY_PATH=$RDMA_CORE_BUILD_DIR/libexport LD_LIBRARY_PATH=$RDMA_CORE_BUILD_DIR/lib

配置DPDK

编辑config/common_base,视状况开启如下开关

#应用Mellanox网卡:CONFIG_RTE_LIBRTE_MLX5_PMD=y#应用华为网卡:CONFIG_RTE_LIBRTE_HNS3_PMD=yCONFIG_RTE_LIBRTE_HINIC_PMD=y#KVM虚拟机CONFIG_RTE_VIRTIO_USER=y#vmware虚拟机CONFIG_RTE_LIBRTE_VMXNET3_PMD=y

编译DPDK

#X86处理器上编译DPDKmake install T=x86_64-native-linuxapp-gcc -j16#ARM64处理器编译DPDKmake install T=arm64-armv8a-linuxapp-gcc -j16