5.3 Nginx服务器的事件驱动模型
Nginx服务器的工作进程调用IO后,就去进行其他工作了;当IO调用返回后,会通知工作进程。这里有一个问题,IO调用是如何把自己的状态通知给工作进程的呢?
一般解决这个问题的方案有两种。
一是,让工作进程在进行其他工作的过程中间隔一段时间就去检查一下IO的运行状态(轮询),如果完成,就去响应客户端,如果未完成,就继续正在进行的工作;
二是, IO调用在完成后能主动通知工作进程。
事件驱动处理库又被称为多路IO复用方法,最常见的包括以下三种:select模型、poll模型和epoll模型。Nginx服务器还支持rtsig模型、kqueue模型、dev/poll模型和eventport模型等。通过Nginx配置可以使得Nginx服务器支持这几种事件驱动处理模型。
Last updated