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

相关推荐
H_老邪7 分钟前
Linux 与 Docker 常用命令
linux·运维·服务器·docker
博语小屋14 分钟前
I/O 多路转接之epoll
运维·服务器·数据库
yaaakaaang21 分钟前
(一)前端,如此简单!---下载Nginx
前端·nginx
新钛云服30 分钟前
如何构建一套自动化的阿里云费用报告系统
运维·阿里云·自动化·云计算
allway21 小时前
Debian Regular Expressions
运维·debian·scala
文静小土豆1 小时前
Linux 进程终止指南:理解 kill 与 kill -9 的核心区别与正确用法
linux·运维·服务器
IMPYLH1 小时前
Linux 的 df 命令
linux·运维·服务器
wefg11 小时前
【Linux】会话、终端、前后台进程
linux·运维·服务器
zhixingheyi_tian1 小时前
Linux/Windows 免密登录
linux·运维·服务器
BPM_宏天低代码1 小时前
【宏天技术】企业CRM系统架构:微服务设计实践
运维