为什么Nginx的性能要比Apache高得多?
為什么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的性能誰的性能更高,同樣十分明了。
原文引用:http://blog.s135.com/nginx_php_v6/
轉載于:https://www.cnblogs.com/phpfans/archive/2013/05/29/3105631.html
總結
以上是生活随笔為你收集整理的为什么Nginx的性能要比Apache高得多?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高精度加减乘法小程序
- 下一篇: 面试官问:HTTP 的负载均衡你了解么?