(Nginx)03_Nginx原理与优化

一、Nginx原理

master–work工作模式:

在这里插入图片描述
配置work进程的数量:
在这里插入图片描述
在这里插入图片描述
nginx的请求处理的过程:
在这里插入图片描述

二、master-workers机制

nginx -s reload 热部署

每个work进程都是独立的 当一个work发生问题时  此时不会影响其他work的抢夺请求  就不会造成服务中断。
work工作中没有锁机制。 省略加锁和开锁锁带来的系统开销。 

在实际生产中 需要设置多少个worker:
Nginx采用了类似redis的一种io多路复用机制。该机制可以使nginx的性能达到最大化。
对于work进程 每一个进程都是异步非阻塞式的方式来处理请求。即使请求的数量再多 对于nginx来说 都是没有压力。
为了充分利用硬件CPU的性能。那么因此在实际使用中,work数量=CPU的数量
如果设置太少 造成CPU资源的浪费 如果设置太多 造成CPU的频繁切换而带来性能损耗。
当发送一个请求,占用了worker 的几个连接数:
在这里插入图片描述

三、面试题:

  1. 一个work可以支持1024个连接 :
    答案:2或4
    如果式静态资源 则一个请求 一个响应 连接数2
    如果式动态资源 则客户端与nginx的请求响应(2) + nginx和tomcat的连接(2) = 4
  2. nginx有一个master 有4个work 该nginx所能支持的最大并发访问数是多少?
    一个work所能支持的连接数1024
    对于普通的静态资源的访问 需要2个连接 所以此时的所能支持的最大并发访问数=(wokrer_connections * worker_processes)/2 = 2048
    对于动态资源 最大并发访问数= (wokrer_connections * worker_processes)/4 = 1024
发布了67 篇原创文章 · 获赞 6 · 访问量 1905

猜你喜欢

转载自blog.csdn.net/weixin_45801537/article/details/105219486