nginx原理解析


来学习一下nginx 的原理.

nginx原理图

master & worker
用 PS 看进程
worker争抢资源

关于 一个master和多个worker的作用

(1)可以使用nginx-s reload 热部署,利用nginx 进行热部署;
(2) 每个worker 是独立的进程, 如果有其中一个worker出现问题, 其他worker 独立的, 继续进行争抢,实现请求过程, 不会造成服务中断.

需要设置多少个worker

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

连接数

work_connect:这个值是表示每个worker进程所能建立连接的最大值.

一个请求会占用几个连接数?

两个或者4个. 如果是请求静态资源, 就是两个,如果还要通过tomcat 去查询数据库的,就是四个.

worker最大支持的连接数

就是四个work的连接数之和除以2或者4
计算原理


文章作者: 陌上人如玉
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 陌上人如玉 !
  目录