Nginx 我可以只为一个应用程序使用一个PHP-FPM池而没有任何缺点吗?

Nginx 我可以只为一个应用程序使用一个PHP-FPM池而没有任何缺点吗?,nginx,drupal-7,php,Nginx,Drupal 7,Php,是否有必要为一个应用程序提供多个PHP-FPM池? 我有一个带有数字海洋、Drupal、NGINX、2核、2GA内存的应用程序。使用Perusio的NGINX和DRUPAL配置,我当前的配置有3个池,我不知道拥有多个池对性能是否有好处,或者我是否只能从一个池运行DRUPAL应用程序 为什么我不想只从一个池运行PHP-FPM?因为每个池的PHP-FPM配置中都有一些参数必须根据CPU内核、RAM等进行设置。。。但是如果有2个或3个池呢?我应该把一切都除以3吗?然后这些设置就会变得混乱 此外,每个池

是否有必要为一个应用程序提供多个PHP-FPM池? 我有一个带有数字海洋、Drupal、NGINX、2核、2GA内存的应用程序。使用Perusio的NGINX和DRUPAL配置,我当前的配置有3个池,我不知道拥有多个池对性能是否有好处,或者我是否只能从一个池运行DRUPAL应用程序

为什么我不想只从一个池运行PHP-FPM?因为每个池的PHP-FPM配置中都有一些参数必须根据CPU内核、RAM等进行设置。。。但是如果有2个或3个池呢?我应该把一切都除以3吗?然后这些设置就会变得混乱

此外,每个池(访问、错误)的日志都是分离的,我更喜欢将所有日志都放在一个位置。 我已经读到,通过不同的池,我们可以控制不同的应用程序,听起来很有逻辑,但这不是我的情况

我已经在生产了,这就是我要问的问题,如果不先自己测试就没有问题。
谢谢大家

池被设计为提供对PHP-FPM的粒度配置和控制;每个运行的池可以有不同的行为。出于这个原因,许多人选择每个应用程序使用一个PHP-FPM池

如果我理解了您的问题,那么您正在运行三个池,其中只有一个Drupal安装。如果是这种情况,并且所有三种配置都相同,那么可以通过合并到单个池中来简化

我的建议:

  • 由于您已经在生产中,请遵守所有
    pm
    设置(尤其是
    pm=dynamic
    )并确保您按比例增加设置,如
    pm.max_children
    您要移除的池数(例如,如果
    pm.max_children=10
    ,我建议将其提高到30以适应)

  • 如果您的PHP-FPM实例正在使用缓存,请确保这些缓存已刷新

  • 保留配置文件的完整热备份(例如,整个/etc/php fpm.d),并充分利用php-fpm的重新加载功能,而不是重新启动,以尽量减少停机时间

  • 确保Nginx的
    fastcgi\u pass
    已调整为指向右侧插槽/端口

  • 最后,注意生成的进程数和占用的内存。
    pm
    中的错误配置很容易让PHP-FPM消耗太多资源。祝你好运