这样有什么好处呢?
1), 每个worker 都是一个独立的进程,不需要加锁,省掉了锁带来的开销,如果其中一个worker 出现了问题,其它worker独立的继续争抢,实现请求过程,不会造成服务中断
2),可以使用 nginx -s reload 热部署,利用nginx 进行热部署操作
3), 设置多少个worker 才是合适的
Nginx 和Redis 类似都采用了 io的多路复用机制,每个 worker 都是一个独立的进程,但每个进程里只有一个主线程
通过异步非阻塞的方式来处理请求,即便上千万请求也不在话下,每个worker的线程可以把cpu的性能发挥到机制
所以<b><font color="#c41230"> worker 数和服务器的cpu 数相等 最为适宜</font></b>,设置少了会浪费cpu 设置多了会造成cpu频繁切换上下文带来的消耗
4),连接数 worker_connection
发送一个请求占用了 worker 的几个连接数?
2 个或者 4个
Nginx 有一个master 有4个worker ,每个worker 支持最大连接数是1024,支持的最大并发数是多少?
worker的最大连接数是 4*1024 /2
worker的最大连接数是 4*1024 /4