nginx一般只做高并发代理,属于cpu密集型处理。过多的进程数在多核处理器中需要排队,没有意义
一般woker_processes设置为逻辑核心数,查看逻辑核心数
[root@VM_0_17_centos worker01]# cat /proc/cpuinfo | grep "processor"
processor : 4
修改配置文件
user root;
worker_processes 4;
指定进程分配的具体逻辑核心
worker_cpu_affinity cpumask [cpumask...]
通常在cpu0会有经常会有其他进程使用,可以将woker_processes设置为3,舍弃第一个逻辑核心
worker_processes 3;
worker_cpu_affinity 0010 0100 1000;
cpumask的位数由逻辑核心数决定,也可以将一个进程绑定在多个逻辑核心上,如
worker_cpu_affinity 0110 1100 1010;
分配在 cpu2 cpu3
cpu3 cpu4
cpu2 cpu4
参考:1. Nginx服务器进程数设置和利用多核CPU的方法