美文网首页
Nginx系列-8 nginx 原理与优化参数配置

Nginx系列-8 nginx 原理与优化参数配置

作者: wfaceboss | 来源:发表于2021-06-19 15:42 被阅读0次

    1、master与worker

    image-20210305171608090

    一个master(老板)多个worker(工人),worker做事。

    image-20210305171614451

    2、worker工作模式

    image-20210305171620002

    3、一个 master 和多个 woker 有好处

    • 可以使用 nginx --s reload 热部署,利用 nginx 进行热部署操作

    • 每个 woker 是独立的进程,如果有其中的一个 woker 出现问题,其他 woker 是独立的,继续进行争抢,实现请求过程,不会造成服务中断。

    4、设置多少个 woker 合适

    worker 数和服务器的 cpu 数相等是最为适宜的

    Nginx 同 redis 类似都采用了 IO多路复用机制,每个 worker 都是一个独立的进程,但每个进程里只有一个主线程,通过异步非阻塞的方式来处理请求,即使是千上万个请求也不在话

    下。每个 worker 的线程可以把一个 cpu 的性能发挥到极致。所以 worker 数和服务器的 cpu 数相等是最为适宜的。设少了会浪费 cpu,设多了会造成 cpu 频繁切换上下文带来的损耗。

    5、连接数 worker_connection

    这个值是表示每个 worker 进程所能建立连接的最大值,所以,一个 nginx 能建立的最大连接数,应该是 worker_connections * worker_processes。当然,这里说的是最大连接数,对于 HTTP 请求本地资源来说,能够支持的最大并发数量是

    worker_connections *worker_processes,如果是支持 http1.1 的浏览器每次访问要占两个连接

    • 所以普通的静态访问最大并发数是: worker_connections * worker_processes /2

    • 而如果是 HTTP 作为反向代理来说,最大并发数量应该是 worker_connections *worker_processes/4。因为作为反向代理服务器,每个并发会建立与客户端的连接和与后端服务的连接,会占用两个连接。

    注:worker_connections表示每个worker最大连接数

    worker_processes 表示 worker数量

    每个worker占用2个或4个连接数:静态2个,动态4个。

    静态:(worker直接返回静态资源)

    image-20210305171630991

    动态:(worker需要请求tomcat服务器)

    image-20210305171636528

    感兴趣的话点点关注,我们一起成长进步。

    相关文章

      网友评论

          本文标题:Nginx系列-8 nginx 原理与优化参数配置

          本文链接:https://www.haomeiwen.com/subject/wafhyltx.html