对nginx和apache模块开发的一点心得体会

简要先介绍一下:

 

1)nginx处理过程是异步的,类似于医院机构,效率比较高;apache处理过程是同步的,采用进程或者线程模型或者进程线程混合模型,请求过来一直处理到请求结束,中间过程一般不打断

 

2)各有各的优点,apache模块开发较简单,功能齐全,nginx模块开发较复杂,功能相对不齐全

 

3)apache抗压能力差,nginx抗压能力较好

     由于apache采用的是进程或者线程模型,大量请求过来时,apache需要创建大量的线程或者进程来满足需求,cpu忙于进程间或者线程间的调度,做 有用功的机会就变少,这会导致流进的请求数量和流出的处理数量越来越不匹配,apche又会创建更多的进程或者线程,结果往往容易形成恶性循环,直到无法 响应客户端新的请求

     nginx是基于事件机制的处理模型,单个请求不需要一个线程或者进程来陪伴到请求生命期的结束,抛弃了用户请求与进程之间的一对一关系,大量请求被os接管处理,而连接所耗资源相对较低,所以处理几万个连接是没有问题的

 

4)apache一般进程比较多,这会导致内存浪费问题或者内存共享问题,nginx一般只有几个进程,所以开发跟内存密切相关的,就比较容易些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值