通过配置CPU参数 worker_cpu_affinity 提升nginx性能

技术文章 nginx性能 worker_cpu_affinity

简介
Nginx默认没有开启利用多核cpu,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核cpu的性能。cpu是任务处理,计算最关键的资源,cpu核越多,性能就越好。

规则设定

(1)cpu有多少个核,就有几位数,1代表内核开启,0代表内核关闭

(2)worker_processes最多开启8个,8个以上性能就不会再提升了,而且稳定性会变的更低,因此8个进程够用了

示例:linode VPS 最低配,8核CPU,nginx配置信息:

worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

配置1:4 CPU(4 Core) + 4 worker_processes(每个worker_processes 使用1个CPU)

[root@AY1301180424258d59678 ~]#  cat /proc/cpuinfo | grep processor
processor       : 0
processor       : 1
processor       : 2
processor       : 3

Nginx可以进行下面配置,每个CPU分配一个:

worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;

配置2:8 CPU(8 Core) + 8 worker_processes(每个worker_processes 使用1个CPU)

worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

配置3:16 CPU(16 Core) + 16 worker_processes(每个worker_processes 使用1个CPU)

worker_processes 16;
worker_cpu_affinity 0000000000000001 0000000000000010 0000000000000100 0000000000001000 0000000000010000 0000000000100000 0000000001000000 0000000010000000 0000000100000000 0000001000000000 0000010000000000 0000100000000000 0001000000000000 0010000000000000 0100000000000000 1000000000000000;

配置4:2 CPU(2 Core) + 8 worker_processes(每个worker_processes 使用1个CPU)

worker_processes  8; 
worker_cpu_affinity 01 10 01 10 01 10 01 10;

配置5:8 CPU(8 Core) +2 worker_processes(每个worker_processes 使用1个CPU)

worker_processes  2; 
worker_cpu_affinity 10101010 01010101;

说明:10101010表示开启了第2,4,6,8内核,01010101表示开始了1,3,5,7内核

0条评论