epoll 为什么能提高网络性能

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

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

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

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

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

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

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

相关推荐
mmmayang8 小时前
基于 QUIC 的 HTTP_3
网络·网络协议·http
AI 编程助手GPT8 小时前
用 Python 做一个世界杯赛前分析脚本:以巴西 vs 摩洛哥为例
开发语言·网络·人工智能·python·chatgpt
ElevenS_it1889 小时前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
weixin_307779139 小时前
Python写入Shell文件使用Linux系统的换行符
linux·开发语言·python·自动化
liulilittle9 小时前
Linux Swap 文件配置与持久化(虚拟内存)
linux·运维·服务器
青梅橘子皮10 小时前
Linux---进程控制(2)(进程程序替换)
linux·c++·算法
零陵上将军_xdr10 小时前
从沙子到CPU——计算机硬件基础入门
linux·运维·硬件架构
vortex510 小时前
Linux 命令工具箱:util-linux 与 GNU Coreutils
linux·运维·gnu
荒--10 小时前
MSF 使用
linux·运维·服务器
狮子再回头10 小时前
relhat9.1 sshd配置
linux·服务器·网络