小编Too*_*ion的帖子

正确理解 pm.max_children 调优

我做了一些调查,发现这个可以计算和调整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

我对么?

Si 是的,这意味着当许多网站托管在同一台服务器上时,我们必须将计算结果pm.max_children = 5120 / 80 = …

memory nginx web-server php-fpm php7

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

memory ×1

nginx ×1

php-fpm ×1

php7 ×1

web-server ×1