针对CPU的nginx配置优化

    xiaoxiao2021-03-25  112

    针对CPU的nginx配置优化

    处理器已经进入了多核时代,多核的意思是一个处理器集成两个或者多个计算引擎。一枚多核处理器可以承载多枚内核。将每个内核作为分立的逻辑处理器,通过多喝个内核之间的划分,在特定的周期执行更多的任务,提高并行处理能力。

    在Nginx配置中,有两个关于进程的指令,worker_processes 和worker_cpu_affinity,想必大家对worker_processes 都熟悉。 worker_processes 1 开启一个进程来处理。

    下面 ,我来讲解一下两个指令

    一、worker_processes

    worker_processes指令是用来设计Nginx进程数,官方默认设为1,赋值太多了,将会对系统IO影响效率,降低Nginx服务器性能。但是为了让多核CPU能够更好的处理并行任务,我们可以讲该值设置大一些,最好这个值是机器CPU的倍数,并不是越大越好。 如针对双核CPU 将他设置为2或者4 , 我这里的机器是4核CPU,所以我讲这个值设置为4

    worker_processes 4;

    二、worker_cpu_affinity

    worker_cpu_affinity指令用来分配每个进程的CPU的工作内核 这个指定设置有点麻烦。首先,我们来看一下,在我机器4核,我是怎么设置的。

    如果在笔者电脑上设置worker_processes 4 ;

    笔者的电脑设置 worker_processes 4 ; 我四核开启了四个进程 worker_cpu_affinity 0001 0010 0100 1000; //我们CPU 就是四核 就是四组值,0是不使用,1是使用。 这样每一个进程都有一个 cpu内核了。 {解析 四组二进制值分别对应着四个进程,第一个进程对应的是0001 第二个进程对应的是0010,表示第二个进程计算器内核,第三个进程对应的是0100,表示第三个计算机内核,第四个进程对应1000}

    如果在笔者电脑上设置worker_processes 8 ;

    笔者的电脑设置 worker_processes 8 ; worker_cpu_affinity 0001 0010 0100 1000 0001 0010 0100 1000;

    如果你的电脑CPU 是双核,但是你设置为 worker_processes 设置为4 下面是配置

    worker_processes 4 ; worker_cpu_affinity 01 10 01 10 ;

    设置完毕 重启一下nginx,就能测试出效果

    转载请注明原文地址: https://ju.6miu.com/read-20202.html

    最新回复(0)