服务器并发策略

来源:互联网 发布:大数据分析毕业设计 编辑:程序博客网 时间:2024/05/16 12:39

一、简介

      从本质上讲,所有到达服务器的请求都封装在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


0 0
原创粉丝点击