Nginx的实现原理

Nginx的实现原理

1、启动 Nginx 会有 master 进程和 worker 进程
在这里插入图片描述
在这里插入图片描述
2、worker进程的工作原理
在这里插入图片描述
3、一个Master,多个Worker的好处

3.1、有利于Nginx进行热部署,nginx -s reload 热部署(热部署命令执行后,让空闲的worker重新加载,正在执行任务的worker在执行完任务后再重新加载)

3.2、每个worker是独立的进程,不需要加锁,因此省掉了锁带来的开销;如果其中一个worker出现问题,其他worker独立的,继续进行争抢,实现请求过程,不会造成服务中断。

4、设置多少个Worker才合适?

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

5、连接数 worker_connection

5.1、发送请求占用worker几个连接数?
在这里插入图片描述
2个或者4个,如果是静态请求则是2个连接数,如果是动态请求,则是4个连接数。
静态请求,直接请求至worker即可,动态请求,要请求至worker,再请求至后端服务器。

5.2、nginx有1个master和4个worker,每个worker支持的最大连接数是1024,支持的最大并发数是多少?

普通的静态访问最大并发数是:worker_connection * worker_process/2

而如果是http作为反向代理来说,最大并发数是:worker_connection * worker_process/4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值