有的人说是有多少个核心就设置多少个进程,还有种说法是设成cpu核心数的两倍。

我知道worker_processes是表示工作进程的数量,但是这个值应该怎么设置呢?理论上来说按照cpu核心数的倍数来设置是没错的,但是到底是几倍呢?

但是我想这里应该有一个原则,要不然nginx为什么不自己在程序中判断下核心数,然后fork相应的进程呢?肯定这个值是需要依据某种经验来判断的,有人能分享下这方面的经验吗?


慕村225694
浏览 267回答 2
2回答

UYOU

一般来说,设置成CPU核的数量即可,另外不要忘了设置worker_cpu_affinity,这个配置用于将worker process与指定cpu核绑定,降低由于多CPU核切换造成的寄存器等现场重建带来的性能损耗。另外,淘宝维护的nginx分支Tengine可以使用auto命令自动配置worker_processes和worker_cpu_affinity。

喵喔喔

我觉得auto就可以了。worker_processes auto;
打开App,查看更多内容
随时随地看视频慕课网APP