epoll 为什么能提高网络性能

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

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

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

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

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

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

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

相关推荐
Rabitebla9 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
anew___12 小时前
《从零手写操作系统 (63):安全与加固——从内核保护到沙箱隔离》
网络·安全
Lzg_na12 小时前
VXLAN:背景、机制、报文字段与主机转发流程
网络
Android系统攻城狮14 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
程序员初一14 小时前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh
程序开发阿元14 小时前
swappiness 60 和 10 差在哪:一台 1C1G 的三轮对比
linux·ssh
无足鸟ICT14 小时前
【RHCA+】mpstat命令(监控CPU)
linux
乐维_lwops14 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
GeW15 小时前
新质生产力Linux和数据库为啥这么关键
linux
番茄啊16 小时前
linux 开启xftp连接
linux·运维·服务器