Nginx高级配置——绑定worker进程到指定的CPU内核

语法:worker_cpu_affinity cpumask[cpumask…]

为什么要绑定worker进程到指定的CPU内核呢?假定每一个worker进程都是非常繁忙的,如果多个worker进程都在抢同一个CPU,那么这就会出现同步问题。反之,如果每一个worker进程都独享一个CPU,就在内核的调度策略上实现了完全的并发。

例如,如果有4颗CPU内核,就可以进行如下配置:

注意,worker_cpu_affinity配置仅对linux操作系统有效。Linux操作系统使用sched_setaffinity()系统调用实现这个功能。

【摘自:《深入理解Nginx:模块开发与架构解析(第2版)》 陶辉 著】