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放入,效率高,无监视文件描述符的数量限制。

  • 相关阅读:
    Begin Example with Override Encoded SOAP XML Serialization
    State Machine Terminology
    How to: Specify an Alternate Element Name for an XML Stream
    How to: Publish Metadata for a WCF Service.(What is the Metadata Exchange Endpoint purpose.)
    Beginning Guide With Controlling XML Serialization Using Attributes(XmlSerializaiton of Array)
    Workflow 4.0 Hosting Extensions
    What can we do in the CacheMetaData Method of Activity
    How and Why to use the System.servicemodel.MessageParameterAttribute in WCF
    How to: Begin Sample with Serialization and Deserialization an Object
    A Test WCF Service without anything of config.
  • 原文地址:https://www.cnblogs.com/wangchengb/p/8995704.html
Copyright © 2011-2022 走看看