web服务器并发策略

web服务器并发策略无外乎从连接方式和IO策略上做文章了。

连接方式有短连接和长连接之分,并且也有单进程和多进程之分。

IO策略有阻塞和非阻塞之分,也有同步和异步之分。

以上这些概念不做过多解释,关键看看有哪些组合,其实常见的web服务器并发策略就是这些方式的组合。

  • 一个进程处理一个连接,非阻塞I/O
     这种策略下又分为:
    1)主进程使用非阻塞啊accept()来接收连接,当建立连接后,主进程将任务分配给空闲的子进程来处理
    2)所有子进程使用阻塞accept()来竞争接收连接,一旦一个子进程建立连接后,它将继续进行处理
    其中,apache prefork采用方式2,这样的好处是简单和健壮,子进程间不受干扰,但缺点很明细,占用内存很高,并且进程的新建和销毁也很耗性能。 
  • 一个线程处理一个连接,非阻塞I/O
    apache worker采取这种模式,可以减少资源的消耗,但由于线程间共享数据,因此互相之间会有影响,另外线程间的切换也很消耗资源
  • 一个进程处理多个连接,非阻塞I/O
    基于多路I/O就绪通知,基于epoll方式会表现良好 
  • 一个进程处理多个连接,异步I/O
    不够成熟,应用较少 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值