了解pm.max_children调整

时间:2018-11-09 14:13:11

标签: php web memory php-7.2 fpm

我进行了一些调查,发现它可以计算和调整 pm.max_children

https://myshell.co.uk/blog/2012/07/adjusting-child-processes-for-php-fpm-nginx/

但例如:

  • 我的服务器上有8Gb
  • 我正在托管30个网站
  • php-fpm平均进程大小约为40mb
  • php-fpm的最大进程大小约为80mb
  • 我想为php-fpm进程分配最多5Gb的内存

如果我应用此方法:

pm.max_children =专用于Web服务器的总RAM /最大子进程大小

所以在我的情况下:

pm.max_children = 5120/80 = 64

但是,如果我在每个php-fpm网站conf文件中添加 pm.max_children = 64 ,这意味着每个网站都可以使用 64个子进程 X 1个进程(例如40mb)= 2560Mb

如果我们同时想象所有30个网站都达到了pm.max_children值,我们将拥有: 2560Mb (每个网站的最大值)x 30 网站= 76 800 Mb

我正确吗?

是的,这意味着当许多网站托管在同一服务器上时,我们必须将计算结果除以 pm.max_children = 5120/80 = 64 根据托管的网站数量(此处为30个)。

因此,每个网站的64/30 = 2,1和 pm.max_children = 2

是否正确?

谢谢

0 个答案:

没有答案