文章目录
1、概述
2、dpdk 介绍
3、ans 简介
4、dpdk-nginx 简介
5、nginx 和 dpdk-nginx 压测数据对比
6、小结
7、后续问题
1、概述
本文简单介绍 dpdk 和 ans,以及基于 ans 用户协议改造的 nginx -- dpdk-nginx 的使用方式和压测数据,以说明 dpdk-nginx 在单机上的更高的 qps 处理速度和 c1000k 并发性能。
2、dpdk 介绍
2.1 简介
Intel® DPDK 全称 Intel Data Plane Development Kit,是 intel 提供的数据平面开发工具集,为 Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于 Linux 系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。目前已经验证可以运行在大多数 Linux 操作系统上,包括 FreeBSD 9.2、Fedora release18、Ubuntu 12.04 LTS、RedHat Enterprise Linux 6.3 和 Suse EnterpriseLinux 11 SP2 等。DPDK 使用了 BSDLicense,极大的方便了企业在其基础上来实现自己的协议栈或者应用。
需要强调的是,DPDK 应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包,绕过了 Linux 内核协议栈对数据包处理过程。Linux 内核将 DPDK 应用程序看作是一个普通的用户态进程,包括它的编译、连接和加载方式和普通程序没有什么两样。
2.2 原理介绍
DPDK 对从内核层到用户层的网络流程相对传统网络模块进行了特殊处理,下面对传统网络模块结构和DPDK中的网络结构做对比:
*