zoukankan      html  css  js  c++  java
  • nginx之epoll模型的详细介绍

    首先我们一个问题一个问题讲解,由浅入深的去探索epool

    1、什么是IO复用?

        

      IO流请求操作系统内核,有串行处理和并行处理的两种概念;串行处理,前面一个处理,后面的所有的需要等

    待,所以这是必需考虑并行处理的方式来完成整个IO流的请求,实现最大的并发和吞吐;这里就用到了IO复用技术,

    IO复用技术就是让一个Socket来做复用完成整个IO流的请求,当然实现IO流的请求,其中一种方式就是多线程,但

    是多线程会占用大量资源,不便于管理,从而出现IO多路复用

    2、什么是IO多路复用?

      IO多路复用是指多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这里的“复用”指的是复用同一个

    线程;对操作系统内核而言多路复用其实是要完成操作系统IO的请求,对于IO文件的请求,我们当一个IO流要进行

    对应的文件处理的时候,要获取一组文件的描述符,当文件描述符还没就绪时,它就一直在等待,直到描述符一旦

    就绪,它就马上上报系统的一个通知的机制告诉主应用程序,我已经准备就绪了,你可以来操作了这种方式就是IO

    复用方式。

    3、什么是epoll?

      IO多路复用的实现方式select 、 poll 、 epoll , 都是liunx内核下的常见多路复用模型最早出现的是select模型

    4、什么是select?

      多路复用其实就是内核态对IO请求的时候,主动的会发送所需要处理的文件对象就绪时的文件就绪信息给应

    用端,应用端在FD没有就绪之前都是Block,也就是阻塞住对应的Socket请求,也会维护一个FD的列表;当内核

    态发送可用的信号,FD就绪以后,应用端采用select这种模式,会一直在遍历所维护的FD文件描述符的列表,以

    等到对应的唤醒对应的进程完成对应的数据拷贝;在整个过程中select采用的是线性遍历的模式,这种模式效率

    低下,

      

    5、Select缺点及epoll优点

    Select缺点:

      1) 、能够监视文件描述符的数量存在最大限制

      2) 、线性扫描效率低下

    epoll优点:

      epoll则优化,完善了select模式的缺点,每当FD就绪,采用系统的回调函数直接将FD放入,效率高,无监视文件描述符的数量限制。

  • 相关阅读:
    用AI思维给成本降温,腾讯WeTest兼容性测试直击底价!
    DOIS2019大会,腾讯 DevOps 测试中台探秘
    腾讯WeTest兼容服务再次升级,支持小程序兼容
    打造游戏金融小程序行业测试标准腾讯WeTest携各专家共探品质未来
    我对模板模式和策略模式的理解
    retrofit
    nginx--阿里云--success
    volatile--学习--未使用过
    linux---多线程---信号量--不懂
    sql优化---后面再看吧
  • 原文地址:https://www.cnblogs.com/wangchengb/p/8995704.html
Copyright © 2011-2022 走看看