Nginx入门到精通七(Nginx原理)

下面内容整理自bilibili-尚硅谷-Nginx青铜到王者视频教程

Nginx相关文章

Nginx入门到精通一(基本概念介绍)-CSDN博客

Nginx入门到精通二(安装配置)-CSDN博客

Nginx入门到精通三(Nginx实例1:反向代理)-CSDN博客

Nginx入门到精通四(反向代理2)-CSDN博客

Nginx入门到精通六(高可用配置)-CSDN博客

Nginx入门到精通七(Nginx原理)-CSDN博客

========================================================

Master和Worker

Nginx包含:Master 和 worker 进程;可以有一个master和多个worker;

如果是一个,可以修改配置文件中的worker_processes

Worker如何工作的

1, 用户向Nginx发起请求,首先会到Master节点;Maser节点的作用是管理和监控worker

2, Master告诉Worker现在有请求了;

3, Worker通过争抢机制得到任务,进行反向代理

Master-workers机制好处

1, 对于每个worker进程来说,独立的进程不需要加锁,所以省掉锁带来的开销;编程和问题查找的时候也会方便;

2, 采用独立的worker进程,可以互不影响,一个进程退出后恰进程还在工作,服务不会终端,master进程则很快启动新的worker进程。

3, 便于Nginx热部署 nginx -s reload

需要设置多少个worker进程

Nginx类似Redis采用IO多路复用机制,每个worker都是一个独立进程,每个进程只有一个主线程,通过异步非阻塞方式处理请求,即便成千上万个请求也不在话下。每个进程线程可以把一个CPU性能发挥到极致,worker数和核数相等最为合适;设置少了浪费CPU,设置多了会导致CPU频繁切换带来损耗;

如果Nginx部署在Windows中则无法使用IO多路复用机制;

连接数worker-connection

问:发送一个请求,占用worker几个连接数?

答:2个或者4个连接;如果访问的静态资源,client请求worker, worker返回client;

如果是动态资源,还包含Tomcat的请求和返回;所以是4个连接;

计算最大并发数

问:一个Nginx有一个Master和4个Wroker,每个worker支持最大连接数是1024,问该Nginx支持的最大并发数是多少?

答:假如都是静态请求,最大并发数=1024*4/2 = 2048; 假如请求时动态请求,最大并发数 = 1024*4/4 = 1024 1024;

公式:

静态请求:worker_processes * worker_connections / 2

动态请求:worker_processes * worker_connections / 4

相关推荐
早睡冠军候选人1 小时前
Ansible学习----管理复杂的 Play 和 Playbook 内容
运维·学习·云原生·ansible
Robpubking4 小时前
AWS 中 S3 的 server-side encryption 解释与说明
运维·aws
爱喝矿泉水的猛男7 小时前
单周期Risc-V指令拆分与datapath绘制
运维·服务器·risc-v
hakukun7 小时前
docker避免每次sudo方法
运维·docker·容器
杨凯凡7 小时前
Docker Compose:多容器应用编排入门与实战
运维·docker·容器
jason.zeng@15022077 小时前
my.cnf详解
运维·数据库·adb
灵神翁7 小时前
自建node云函数服务器
运维·服务器
TangDuoduo00058 小时前
【IO模型与并发服务器】
运维·服务器·网络·tcp/ip
FOREVER-Q8 小时前
Windows 下 Docker Desktop 快速入门与镜像管理
运维·服务器·windows·docker·容器
地球没有花8 小时前
gitlab cicd首次操作
运维·git·ci/cd·gitlab