1.工作模型
Nginx的高性能主要是其使用了epoll和kqueue网络IO模型,而Apache则使用的是传统的select模型,目前在Linux下能承受高并发访问的著名开源软件Squid,Memcached,采用的都是epoll网络I/O模型。
2.进程解析
正常工作的Nginx有多个进程,基本上的有master process和worker process
master process:当做整个进程组的与用户交互的接口,维护和监控worker process,没有处理具体的业务,只把相应的信息发到workerprocess 。同时负责Nginx的平滑重启,配置文件生效,关闭等。
worker process:处理具体的任务。
Nginx中master,worker的工作流程
master process 创建N个work process--------------------->master process 挂起等待信号------------------>信号到来--------------->发送信号-------->通知work process做处理