一、簡(jiǎn)介

     nginx是一款非常受歡迎的軟件,具備高性能、模塊化可定制的良好特性。之前寫(xiě)了一篇nginx的http模塊分析的文章,主要對(duì)http處理模塊進(jìn)行了分析講解,同時(shí)也涉及了nginx模塊化的內(nèi)容。至于nginx高性能的原因,希望能夠在在這篇文章中就自己對(duì)于這方面的理解給大家分享一下。

     nginx的event處理模型包含兩個(gè)方面:高效的IO處理函數(shù),事件的異步處理(可選的線程池)。

 

二、IO復(fù)用函數(shù)

     nginx中包含epoll、poll、select、devpoll、kqueue、iocp等不同的IO處理函數(shù)。下面就常見(jiàn)的epoll、poll、select來(lái)做簡(jiǎn)單的分析


    select

    poll

    epoll

    fd數(shù)量

    用fd_set類型來(lái)存儲(chǔ)fd,每個(gè)fd占一位,fd_set在linux系統(tǒng)中默認(rèn)1024位,所以select最多支持1024個(gè)fd(可以通過(guò)修改FD_SETSIZE來(lái)增加)

    采用pollfd結(jié)構(gòu)體來(lái)存儲(chǔ)fd,因此支持的最大fd數(shù)目跟系統(tǒng)內(nèi)存有關(guān)(支持存儲(chǔ)多少個(gè))

    采用epoll_event存儲(chǔ),因此也只與內(nèi)存有關(guān)

    通知方式

    延伸閱讀

    學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

    我想了解如何學(xué)習(xí)

    姓名:
    手機(jī):
    留言: