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 Ethernet
ethtool -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/build
export C_INCLUDE_PATH=$RDMA_CORE_BUILD_DIR/include
export LIBRARY_PATH=$RDMA_CORE_BUILD_DIR/lib
export LD_LIBRARY_PATH=$RDMA_CORE_BUILD_DIR/lib
配置 DPDK
编辑 config/common_base,视状况开启如下开关
# 应用 Mellanox 网卡:CONFIG_RTE_LIBRTE_MLX5_PMD=y
#应用华为网卡:CONFIG_RTE_LIBRTE_HNS3_PMD=y
CONFIG_RTE_LIBRTE_HINIC_PMD=y
#KVM 虚拟机
CONFIG_RTE_VIRTIO_USER=y
#vmware 虚拟机
CONFIG_RTE_LIBRTE_VMXNET3_PMD=y
编译 DPDK
#X86 处理器上编译 DPDK
make install T=x86_64-native-linuxapp-gcc -j16
#ARM64 处理器编译 DPDK
make install T=arm64-armv8a-linuxapp-gcc -j16