IDO老徐,在深圳,某上市公司质量部负责人,干了十二年软件测试,公号"简尚" ,博客isTester.com ,关注「软件测试从业者综合能力提升」,微信957863300

转一段形象的阐述:为什么nginx+php 比Apache+PHP 并发量要大

上一篇 / 下一篇  2016-07-11 15:03:58 / 个人分类:测试职业发展

51Testing软件测试网 wPap/J `Q

Nginx+php平台的并发量(51225)要比Apache+php平台的并发量(21092)要大的.51Testing软件测试网bI?R6~KG X

为什么Nginx的性能要比Apache高得多?

-O5E ]yu&Kn\C5_0

这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型.

K o7xq#r,Z0

目前Linux下能够承受高并发访问的 Squid.Memcached都采用的是epoll网络I/O模型.51Testing软件测试网+U3?{f&p]![%}


*X Gq%X,G/^s0
51Testing软件测试网2qB[B-L*`

处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效.

A4S"gs8]gQp e0

下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:51Testing软件测试网;UE$m3O6q/Z;H:_e*e

假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你.select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止.51Testing软件测试网\ Q7?4tmd[8P

而 epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人.

O J(k"HHYFQ0

如果来了 10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明.51Testing软件测试网0^&K3zt$~2gq8g"b&^

同理,在高并发服务器中,轮询I/O是最 耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了.51Testing软件测试网4E R1T;f {lx{D

51Testing软件测试网h}Z/J!s

B'D!A0w|*kOQ _0


1Zu7Ew&~ b }9O8Y)_0
51Testing软件测试网K6?9[ I:n t i'D

--

GLf,F M+^@:T0

以上转自网络,很形象,分享之~~~~

4rz;k8|JTR!Y'@7_]K0

TAG: Apache nginx Nginx NGINX apache

 

评分:0

我来说两句

xuquan

xuquan

IDO老徐,坐标深圳,测试经理,干了十年测试,公号"简尚" ,个人博客isTester.com ,关注「软件测试从业者综合能力提升」,微信957863300

日历

« 2024-04-06  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 912506
  • 日志数: 427
  • 建立时间: 2012-06-04
  • 更新时间: 2022-02-23

RSS订阅

Open Toolbar