Woker
当进程收到用户发来的请求时,首先会将其生成一种线程,并且通过每一个线程来处理用户发来的请求。当第一个用户请求到达主机时,金城会通知内核将请求的文件或数据提交给进程;当第二个用户请求到达主机时,相对来说文件已存在,都存放在同一内核空间,所以速度非常快。
缺点会导致资源争用的情况,因此一个进程不能生成太多的线程。但可以启动多个进程并且逐个生成线程。
perfork
当进程收到用户发送的请求时,会由主进程生成一个子进程,用子进程来处理用户的请求。
perfork是基于select模型,最大的并发连接数为1024个。当其连接数达到了1024,则不再处理请求。
event
当进程收到用户请求时,进程对内核发起回调函数,并且记录是由哪个进程发来的请求,一旦请求被处理后,会直接反馈给用户。如果没有被处理的进程则一直处于等待状态,知道请求被处理。这种扫描是全局的,哪个响应完成则通知哪个。