Master 主要用来调用worker来干活

Worker如何进行工作的

一个master和多个worker的设计好处

  1. 可以使用nginx -s reload 热加载,利于nginx执行热部署的操作
  2. 每个worker是一个独立的进程如果有其中的一个worker出现了问题,因为worker之间是独立的,不会影响其他的,会继续进行争抢

设置多少个worker才是最合适的呢?

nginx同redis类似都采用了io多路服用机制,每个workder都是一个独立的进程,但每个进程里只有一个主线程,通过异步非阻塞的方式来处理请求,即使是成千上万个请求也不再话下,每个worker的线程可以把一个cpu性能发挥到机制,所以worker数量和cpu数量相等是最合适的,设置少了会浪费cpu,设置多了会造成cpu频繁切换上下文带来的损耗

worker 数和服务器的 cpu 数相等是最为适宜的

5、连接数 worker_connection

第一个:发送请求,占用了 woker 的几个连接数?

答案:2 或者 4 个

第二个:nginx 有一个 master,有四个 woker,每个 woker 支持最大的连接数 1024,支持的最大并发数是多少?

  • 普通的静态访问最大并发数是: worker_connections * worker_processes /2,
  • 而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections * worker_processes/4。