设置nginx工作人员的负面影响太高

我已经看过很多文章,build议如何设置nginxworker_processes ,但是当设置过高的时候,会发生什么情况呢? 我即将运行一些基准testing,但我会很高兴就我应该期待的build议。 如果我有一个核心(两个硬件线程)可用于nginx,如果我将worker_processes从2更改为24,那么将会遇到什么指标?

关于我的头顶,我预计CPU争用会导致吞吐量下降和更高的延迟。 它是否正确? 预计其他指标是否会受到显着影响 – 我还应该做什么样的基准testing?

worker_processes指令确定nginx将从主进程产生多less个subprocess/ fork。 如果你有24个CPU核心(或者超线程(HT)技术至less有24个虚拟CPU核心,但仍然有12个核心),24个进程才有意义。

CPU争用

当然,是的,这将是你最大的问题。

预计其他指标是否会受到显着影响 – 我还应该做什么样的基准testing?

您的操作系统也必须pipe理这些过程。 你的整体性能会受到影响,在内存使用上应该是明显的(尽pipe不是很多)。

如果您正在进行基准testing,请增加每个进程允许处理的连接数量。 这将增加您的吞吐量,但不会增加更多的负载在硬件上,只需要投入越来越多的stream程。