epoll 为什么能提高网络性能

epoll⾼性能最根本的原因是,epoll 可以同时监听多个fd事件,这在很⼤程度地减少了⽆⽤的进程上下⽂切换,让进程更专注地处理⽹络请求。

其实在内核的硬、软中断上下⽂中,包从⽹卡接收过来进⾏处理,然后放到socket的接

收队列。再找到socket关联的epiter,并把它添加到epol对象的就绪链表中。

在⽤户进程中,通过调⽤epoll wait来 查看就绪链表中是否有事件到达,如果有,直

接取⾛进⾏处理。处理完毕再次调⽤epoll_ wait。 在⾼并发的实践中,只要活⼉⾜够多,

epoll walt根本不会让进程阻塞。⽤户进程会⼀直⼲活⼉,⼀直⼲活⼉,直到epoll watt⾥

实在没活⼉可⼲的时候才主动让出CPU。这就是epoll⾼效的核⼼原因所在!

相关推荐
报错小能手34 分钟前
讲讲libevent底层机制
linux·服务器
7***u2161 小时前
显卡(Graphics Processing Unit,GPU)架构详细解读
大数据·网络·架构
代码AC不AC3 小时前
【Linux】计算机的基石:从冯·诺依曼体系结构到操作系统管理
linux·操作系统·冯诺依曼体系结构
大柏怎么被偷了3 小时前
【Linux】进程等待
linux·运维·服务器
河北瑾航科技4 小时前
广西水资源遥测终端 广西水利遥测终端 广西用水监测遥测终端 河北瑾航科技遥测终端机HBJH-B01说明书
网络·科技·水文遥测终端机·遥测终端机·广西水资源遥测终端机·广西水利遥测终端·广西用水终端
偶像你挑的噻4 小时前
12-Linux驱动开发- SPI子系统
linux·驱动开发·stm32·嵌入式硬件
羑悻的小杀马特5 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
松涛和鸣5 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
念风5 小时前
[lvgl]如何优雅地向lv_port_linux中添加tslib支持
linux
愚戏师5 小时前
Python3 Socket 网络编程复习笔记
网络·笔记