书籍推荐
《Linux高性能网络详解:从DPDK、RDMA到XDP》:
1.Linux 网络的瓶颈
当 Linux 在 20世纪90 年代初设计开发 Linux 内核时,还无法预料到未来30年全球互联网的规模,所以也不可能按现在的数据流量去做设计。而 Linux 内核的基本结构也保持到现在。
因此问题就在于Linux 内核网络协议栈的实现,相对于当下的数据吞吐量需求,有以下三个原因会产生网络传输瓶颈:
▮ 应用程序和网络协议栈在交换数据时,会频繁地在用户态与内核态之间切换,导致延时产生;
▮ 数据要在用户空间缓存与内核空间缓存之间往来复制,耗费时间;
▮ 内核协议栈需要对数据进行封装和解析工作,占用 CPU 时钟
这里推荐一本书:《Linux高性能网络详解:从DPDK、RDMA到XDP》,该书就针对上述问题给出了包括软件与硬件的解决办法
https://zhuanlan.zhihu.com/p/619858804