nginx工作原理解析

目录

1、master-workers 的工作机制介绍

2、master-workers 的机制的好处

3、设置多少个 worker

4、最大连接数和支持的最大并发数的计算


1、master-workers 的工作机制介绍

nginx在启动后,会有一个master进程和一个或者多个相互独立的worker进程

过来的请求由master管理,worker进行争抢式的方式去获取请求。

2、master-workers的机制的好处

可以使用nginx -s reload热部署,利用nginx进行热部署

其次,采用独立的进程,可以让互相之前不会影响,一个进程退出后,其他进程还在工作,服务不会中断,master进程很快启动新的workerj进程。当workerj进程异常退出后,会导致当前的worker上的所有请求失败,但是不会影响到所有请求,降低了风险。

3、设置多少个worker

nginx同redis类似都采用了io多路复用机制,每个worker都是一个独立的进程,但每个进程只有一个主线程,通过异步非阻塞的方式来处理请求,即使是千万个请求也不在话下。每个worker的线程可以把一个cpu的性能发挥到极致.

补充:

使用nproc命令查看服务器cpu个数

设置worker进程数的方法步骤

在Nginx中,worker进程是负责处理客户端请求的进程。可以通过更改worker进程数来优化Nginx的性能。

要设置worker进程数,需要编辑Nginx的配置文件nginx.conf。在该文件中,有关worker进程数的配置可以在http块中找到。例如,要将worker进程数设置为4,可以添加下面的配置:

```
http {
  ...
  worker_processes 4;
  ...
}
```

这样会启动个worker进程。建议将worker进程数设置为CPU核心数的2倍。这可确保每个CPU核心都有几个worker进程在运行,从而充分利用系统资源。

保存文件并重新启动Nginx服务,以使更改生效


测试!!!

4、最大连接数和支持的最大并发数的计算

这个值表示每个worker进程所能建立连接的最大值,所以一个nginx能建立的最大连接数,应该是

worker_connections * worker_processes

而所支持的最大并发数为:

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

注意:发送请求,占用了 woker 2个或者4个链接数(静态资源2个, HTTP 作为反向代理则为4个)

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值