Nginx使用Epoll模型的优势介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/longgeqiaojie304/article/details/84967223