nginx 与 apache 的主要区别 ? nginx快的原因 ?

OscerSong 发布于 2013/05/17 20:04
阅读 2K+
收藏 3
nginx 与 apache 的主要区别 ?  nginx快的原因  ?
加载中
2
eechen
eechen
http://blog.s135.com/nginx_php_v6/ 有提及:

为什么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的性能谁的性能更高,同样十分明了。
jingshishengxu
jingshishengxu
select 在连接活跃度较高的情况下比epoll有优势
欣儿
欣儿
这个有理啊
0
-Jw-
-Jw-
面试经常被问到
0
OscerSong
OscerSong
呵呵 关键是问原理了 
0
马太航
马太航

可不单单是epoll 复用这些。


apache 在某些地方 比nginx要快


0
eechen
eechen
另外每次访问Apache都要读取加载站点目录里一个或多个.htaccess文件,而Nginx在启动时就加载了这些内容,虽然 Apache 也可以把.htaccess里的内容写到的配置里去,但一般主机为了方便都会启用 .htaccess
返回顶部
顶部