9. Nginx原理

master和worker

master是一个领导,它把任务分给它手下不同的worker,worker接到任务之后,来做具体的操作。

image-20201130112721886

image-20201130112701211

worker的工作机制

当客户端发送请求时,首先会进入master,master得到任务后,会向其下的worker发布,而woker则会通过争抢的方式得到任务,然后通过反向代理用tomcat完成具体操作。

一个master多个worker的好处

  1. 可以使用nginx -s reload热部署,也就是说不需要重新启动,就可以让修改完的配置生效,以上图为例,第一个worker不做任何变化,还是继续处理它的事情,剩余的3个worker则会重新加载nginx,如果此时有一个新的请求,那第一个worker就不会参与争抢,因为它里面有任务,而剩余的3个worker会去争抢,这3个worker争抢的时候已经是最新的配置,争抢到任务后进行操作,而第一个任务在它执行之后,会重新加载nginx,得到最新的配置。
  2. 每个worker都是独立的进程,如果有其中一个worker出现了问题,其它的worker也会继续争抢,实现请求的过程,不会造成服务中断。

设置多少个worker合适

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

连接数worker_connection

1、发送请求,占用了worker的几个连接数?

  • 静态资源一般是2,client⇄worker
  • 数据库请求一般是4,client⇄worker⇄Tomcat

2、nginx有一个master,四个worker,每个worker支持最大的连接数据是1024,支持最大的并发数是多少

  • 普通的静态访问最大并发数是: worker_connections(worker的最大连接数) * worker_processes (worker的数量)/2
  • 而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections * worker_processes/4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值