当前位置: 首页 > article >正文

Nginx原理解析

master和worker

image-20210812200852626

  • 当linux启动的时候,会有两个和nginx相关的进程,一个是master,一个是worker

    image-20210812203128324

master如何工作

image-20210812201111349

  • 当客户端发送请求到nginx之后,master会接收到这个请求,然后通知所有的worker进程,此时,worker会对这个请求进行争抢。某个worker抢到请求之后,就会根据设置好的步骤进行请求转发。
  • 一个master和多个worker的好处
    • 可以使用nginx -s reload热部署。 当进行热部署的时候,正常的worker会重启,但是正在处理请求的worker不会,等请求处理完毕之后,才会进行重启。
    • 对于每一个独立的worker,在进行并发的时候,不需要考虑加锁的问题。而且各个worker之间不会互相影响。降低了业务瞬间失效的可能。

worker的设置

worker的数量

  • nginx和redis一样采用了io多路复用机制,每个worker都是一个独立的进程。每个worker的进程都会将cpu的性能发挥到极致。
  • 所以worker的数量和服务器的cpu数量相等是最合适的。(几核就设置几个worker)
  • 设置少了会浪费cpu性能,导致处理业务请求的速度变低。
  • 设置多了会造成cpu频繁切换上下文带来的损耗。

http://www.kler.cn/a/16423.html

相关文章:

  • 【C++学习(37)】并发性模式:如生产者-消费者、读写锁等。 架构模式:如MVC、MVVM等。属于23 种设计模式吗? RAII 的关系?
  • 基于RK3568J多网口电力可信物联网关解决方案
  • Webkit 滚动条样式属性
  • 如何判定linux系统CPU的核心架构
  • SpringBoot参数注解
  • HAproxy 详解
  • (基础算法)高精度加法,高精度减法
  • 【C语言】struct结构体
  • Linux拓展:链接库
  • 数据结构(六)—— 二叉树(3)
  • 【Linux多线程编程-自学记录】05.取消线程
  • Tomcat8和Tomcat9乱码问题
  • 浪潮之巅 OpenAI有可能是历史上第一个10万亿美元的公司
  • 一篇带你了解大厂都在用的DDD领域驱动设计
  • 【Canvas入门】从零开始在Canvas上绘制简单的动画
  • 高性能定时器介绍及代码逐行解析--时间堆
  • 走进小程序【十一】微信小程序【使用Echarts 和 腾讯地图】
  • R语言 | 数据框
  • MySQL数据库——MySQL修改视图(ALTER VIEW)
  • vim 常用操作(vimtutor阅读笔记)
  • 移动宽带安装说明一(刘欣)
  • 【第十一届泰迪杯B题】产品订单的数据分析与需求预测
  • Netty小白入门教程
  • tensorflow中Keras ---图像预处理----tf.keras.preprocessing.image.ImageDataGenerator 类
  • P1915 [NOI2010] 成长快乐
  • 三元操作 三元操作符 if-else / ? :