服务器并发策略

一、简介

      从本质上讲,所有到达服务器的请求都封装在IP包中,位于网卡的接收缓冲区中,这时候Web服务器软件要做的事情就是不断地读取这些请求,然后进行处理,并将结果写到发送缓冲区,这其中包含了一系列的I/O操作和CPU计算,而设计一个并发策略的目的,就是让I/O操作和CPU计算尽量重叠进行。

二、一个进程处理一个连接,非阻塞I/O

1、fork模式:主进程负责accept()来自客户端的连接,一旦接收连接,便马上fork()一个新的worker进程来处理,处理结束后,进程便被销毁。

2、prefork模式:这种方式由主进程预先创建一定数量的子进程,每个子进程可以处理多个请求。父进程只负责负责子进程,动态维护一个进程池。

三、一个线程处理一个连接,非阻塞I/O

     这种方式允许在一个进程中通过多个线程来处理多个连接,其中每个线程处理一个连接。Apache的worker多路处理模块便采用这种方式。

四、一个进程处理多个连接,非阻塞I/O

    它需要应用多路I/O就绪通知。通常将处理多个连接的进程称为worker进程或服务进程。Nginx 对应 :worker_processes 2;

lighttpd 对应:server.max-worker =2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值