版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/longgeqiaojie304/article/details/84967223
Nginx使用Epoll模型的优势介绍
1、实现IO流非阻塞模式
伪代码解读:
while true表示无限循环去读IO流
for i in stream[];{
}
表示for循环读取stream[]流数组
if i has data
read until unavailable
表示如果io流存在数据就读取,否则等待
这种模式缺点:如果所有的流没有数据,for循环就会空跑,那么只会白白浪费CPU
2、IO复用内核模式种类
按照出现的时间先后顺序:select最早、poll次之、epoll最后
select > poll > epoll
按照效率排序:
select 它们之间目前不清楚 poll < epoll
3、SELECT模型
伪代码解读:
select(streams[]){
}
表示IO流有数据的时候才会去执行for循环,这样就不会出现for循环空跑的情况,也不会白白浪费CPU资源。
SELECT、Epoll相当于一个代理
4、Epoll模型优势
- 解决了SELECT模型对于文件句柄FD打开限制
- 采用callback函数回调机制优化模型效率
优势N…
SELECT模型对文件句柄的限制个数为:1024