1. master & worker
2. worker 是如何进行工作的?
当请求下发至master后,worker通过“争抢”的机制获取任务去处理
3. 一个master和多个worker有哪些好处?
(1)可以使用热部署:./nginx -s reload,假如 worker1 已争抢到任务后,热部署后,worker1不参与争抢,剩下的 worker2等才会争抢
(2)每个worker都是独立进程,不需要加锁,减少开销;另外如果某个worker挂了,其他worker会顶上继续争抢,不会导致服务挂掉
4. 设置多少个worker算合适?
nginx同Redis类似,都采用了 io 多路复用机制,一般 worker数和cpu数量相等设置最为合适(worker进程能发挥CPU性能到极致)
5. 连接数如何确定?
(1)发送一个请求,占用了worker几个连接数?
答:2个或者4个;静态资源,发送一个请求,直接返回,是2个;动态资源还需要发送至Tomcat处理返回,所以增加2个,需要4个
(2)nginx里有1个master,4个worker,每个worker支持最大连接数1024,那么支持的最大并发数是多少?(即worker能承受多少请求?)
答:1024或2048;因为worker最大支持连接数是 4*1024,当处理静态资源请求,则是 4*1024 / 2;当处理动态资源请求则是 4*1024 / 4 (处理反向代理)