5.2 Nginx服务器的Web请求处理机制

Nginx服务器启动后,可以产生一个主进程(master process)多个工作进程(worker processes),可以在配置文件中指定产生的工作进程数量。Nginx服务器的所有工作进程都用于接收和处理客户端的请求。

每个工作进程使用了异步非阻塞方式,可以处理多个客户端请求

  • 当某个工作进程接收到客户端的请求以后,调用IO进行处理,如果不能立即得到结果,就去处理其他的请求;

  • 而客户端在此期间也无需等待响应,可以去处理其他的事情;

  • 当IO调用返回结果时,就会通知此工作进程;

  • 该进程得到通知,暂时挂起当前处理的事务,去响应客户端请求。

客户端请求数量增长、网络负载繁重时,Nginx服务器使用多进程机制能够保证不增长对系统资源的压力;同时使用异步非阻塞方式减少了工作进程在I/O调用上的阻塞延迟,保证了不降低对请求的处理能力。

Last updated