DPDK 似乎为某些应用程序提供了令人印象深刻的性能提升,但我认为服务器不会像路由器/交换机之类的东西那样受益。
我还没有看到有人提到这件事正在完成或正在研究,所以我只是想知道它是否值得研究。
DPDK 本身仅提供对设备的第 2 层(即以太网)访问。因此,您首先需要在其之上构建第 3 层(即 IP)和第 4 层(即 TCP/UDP)堆栈。您可以使用 KNI 来解决这个问题,但我认为(有点小的)性能优势在这种情况下不会有所帮助。
即使在获得所有这些层之后,它仍然可能无济于事,因为进入应用程序的数据包(DPDK 优化的大事)不太可能成为 DNS 或 DHCP 之类的瓶颈(除非它们是非常简单的基本实现)。
其他一些注意事项包括需要至少将整个内核专用于 DPDK,并且在大多数情况下,DPDK 将接管整个接口,这意味着您不能将它用于其他任何事情。