課程
/后端開發
/C
/Linux C語言編程基本原理與實踐
nginx比apache性能強是因為epoll。
2015-03-16
源自:Linux C語言編程基本原理與實踐 1-1
正在回答
為什么Nginx的性能要比Apache高很多? 這得益于Nginx使用了最新的epoll(Linux 2.6內核)和kqueue(freebsd)網絡I/O模型,而Apache則使用的是傳統的select模型。目前Linux下能夠承受高并發訪問的Squid、Memcached都采用的是epoll網絡I/O模型。處理大量的連接的讀寫,Apache所采用的select網絡I/O模型非常低效。下面用一個比喻來解析Apache采用的select模型和Nginx采用的epoll模型進行之間的區別:假設你在大學讀書,住的宿舍樓有很多間房間,你的朋友要來找你。select版宿管大媽就會帶著你的朋友挨個房間去找,直到找到你為止。而epoll版宿管大媽會先記下每位同學的房間號,你的朋友來時,只需告訴你的朋友你住在哪個房間即可,不用親自帶著你的朋友滿大樓找人。如果來了10000個人,都要找自己住這棟樓的同學時,select版和epoll版宿管大媽,誰的效率更高,不言自明。同理,在高并發服務器中,輪詢I/O是最耗時間的操作之一,select和epoll的性能誰的性能更高,同樣十分明了。
epoll什么東東?
舉報
本視頻教程介紹C語言基本工作原理以及適用與C的實際開發方式
4 回答linux c語言
1 回答C語言難嗎
1 回答關于c語言
2 回答C語言的具體
2 回答C語言怎么學習
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-09-06
為什么Nginx的性能要比Apache高很多? 這得益于Nginx使用了最新的epoll(Linux 2.6內核)和kqueue(freebsd)網絡I/O模型,而Apache則使用的是傳統的select模型。
目前Linux下能夠承受高并發訪問的Squid、Memcached都采用的是epoll網絡I/O模型。
處理大量的連接的讀寫,Apache所采用的select網絡I/O模型非常低效。
下面用一個比喻來解析Apache采用的select模型和Nginx采用的epoll模型進行之間的區別:
假設你在大學讀書,住的宿舍樓有很多間房間,你的朋友要來找你。
select版宿管大媽就會帶著你的朋友挨個房間去找,直到找到你為止。
而epoll版宿管大媽會先記下每位同學的房間號,
你的朋友來時,只需告訴你的朋友你住在哪個房間即可,不用親自帶著你的朋友滿大樓找人。
如果來了10000個人,都要找自己住這棟樓的同學時,select版和epoll版宿管大媽,誰的效率更高,不言自明。
同理,在高并發服務器中,輪詢I/O是最耗時間的操作之一,select和epoll的性能誰的性能更高,同樣十分明了。
2015-08-18
epoll什么東東?