轉(zhuǎn)
我們知道nginx性能極好,之所以有這么好的性能,原因之一便是他采用的是IO多路復(fù)用模型机久。什么?不理解什么是IO多路復(fù)用赔嚎?下面看好了膘盖,精彩的解釋來了
IO 多路復(fù)用是5種I/O模型中的第3種,對各種模型講個故事尤误,描述下區(qū)別:
故事情節(jié)為:老李去買火車票侠畔,三天后買到一張退票。參演人員(老李损晤,黃牛软棺,售票員,快遞員)尤勋,往返車站耗費1小時喘落。
1.阻塞I/O模型
老李去火車站買票,排隊三天買到一張退票最冰。
耗費:在車站吃喝拉撒睡 3天瘦棋,其他事一件沒干。
2.非阻塞I/O模型
老李去火車站買票暖哨,隔12小時去火車站問有沒有退票赌朋,三天后買到一張票。
耗費:往返車站6次,路上6小時沛慢,其他時間做了好多事服球。
3.I/O復(fù)用模型
1.select/poll
老李去火車站買票,委托黃牛颠焦,然后每隔6小時電話黃牛詢問斩熊,黃牛三天內(nèi)買到票,然后老李去火車站交錢領(lǐng)票伐庭。
耗費:往返車站2次粉渠,路上2小時,黃牛手續(xù)費100元圾另,打電話17次
2.epoll
老李去火車站買票霸株,委托黃牛,黃牛買到后即通知老李去領(lǐng)集乔,然后老李去火車站交錢領(lǐng)票去件。
耗費:往返車站2次,路上2小時扰路,黃牛手續(xù)費100元尤溜,無需打電話
4.信號驅(qū)動I/O模型
老李去火車站買票,給售票員留下電話汗唱,有票后宫莱,售票員電話通知老李,然后老李去火車站交錢領(lǐng)票哩罪。
耗費:往返車站2次授霸,路上2小時,免黃牛費100元际插,無需打電話
5.異步I/O模型
老李去火車站買票碘耳,給售票員留下電話,有票后框弛,售票員電話通知老李并快遞送票上門辛辨。
耗費:往返車站1次,路上1小時功咒,免黃牛費100元愉阎,無需打電話
1同2的區(qū)別是:自己輪詢
2同3的區(qū)別是:委托黃牛
3同4的區(qū)別是:電話代替黃牛
4同5的區(qū)別是:電話通知是自取還是送票上門