• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Resolved The new function Dedicated FPM application served by Apache

Peter99

Basic Pleskian
Exactly how does the new Dedicated FPM application served by Apache work? And what does it do, compared to normal FPM application? :)

I have read the documentation, however right now, the description on this is limited :)
 
It seems like a separated PHP-FPM process for a single website. The website uses it's own PHP-FPM process instead of the global PHP-FPM process that's serves all websites that uses a particular PHP version, hence the name dedicated PHP-FPM handler:

 
Hi!

This is a nice feature. Did you personnally use it?
I am going to try it.

If each website use its own PHP-FPM process, do you know how to restart a specific process if the service for this website has problem?
Maybe, we still need to restart the PHP-FPM service if something is wrong?

Thank you.
 
Awesome - this solves the exact problem we had a couple of days ago with a site chewing all the available php workers crashing other sites on the box even though there's plenty of resources to spare
 
In case of service crash, do you know how to restart PHP-FPM for a specific website or should we restart the whole service?
 
In case of service crash, do you know how to restart PHP-FPM for a specific website or should we restart the whole service?
I *think* inside the php settings for the individual hosting instance theres a restart/stop/start set of icons.
 
I just discovered that even customers can choose this new dedicated PHP-FPM handler.
What does that mean for the server load and memory usage? Does anyone have experience with this?
Can this function be disabled for customers?
 
I just discovered that even customers can choose this new dedicated PHP-FPM handler.
What does that mean for the server load and memory usage? Does anyone have experience with this?
Can this function be disabled for customers?
This is the biggest issue I have with it. As a hosting company you have small hostings and big (expensive) hostings. but even the smalles hosting can now use a dedicated pool for its page - and there is no option to deny this. the only option is to disable it for all. in the end we had to do it and lost an option for our high tier customers.
 
This is the biggest issue I have with it. As a hosting company you have small hostings and big (expensive) hostings. but even the smalles hosting can now use a dedicated pool for its page - and there is no option to deny this. the only option is to disable it for all. in the end we had to do it and lost an option for our high tier customers.
You could solve this by creating a different 'service plan' in Plesk for your 'lower tier' customers and disable the 'PHP version and handler management' permission for this server plan. Which will disable the option for customers to change the PHP handler and PHP version. Or even create a Service Plan Add on which disable the 'PHP version and handler management' permission.
 
Last edited:
I get that Plesk wants to continuously improve their products but at least give us to customize options like dedicated PHP-FPM handlers, sliding sidebars when you add a new subscriptions, removing the right sidebar without telling anyone etc. And yes, I know they do regular questionnaires, but still....

Don't get me wrong, I still love this product, it's just the way new additions are added that makes me wonder who they think their customers are. A regular Joe Blow who likes to play with a WordPress site or real professionals who make a living out of this and wants to offer the best possible hosting services.
 
The dedicated PHP-FPM handlers are just an addition to the already available PHP handlers. If you don't want to make them available to (all of) your customers disable the 'PHP version and handler management' permission. What else does there need to be 'customized'? The options are already available in Plesk. You just have to utilize them.
 
The dedicated PHP-FPM handlers are just an addition to the already available PHP handlers. If you don't want to make them available to (all of) your customers disable the 'PHP version and handler management' permission. What else does there need to be 'customized'? The options are already available in Plesk. You just have to utilize them.
I know that. I am using PLESK on a daily basis and since many many years. But currently i can not allow a customer to change its php version but deny selection the handler. all i can do is forbidding all, and write an own plugin to allow parts of it, namely the php version selection. a dedicated pool is a sales factor. why should someone give low tier customers a dedicated pool which creates an overhead on the server without getting adequately paid for it. so lower tiers should have php version selector but not php handler selector.
 
In case of service crash, do you know how to restart PHP-FPM for a specific website or should we restart the whole service?
Just the FPM for the pool - it's dependent.

I just discovered that even customers can choose this new dedicated PHP-FPM handler.
What does that mean for the server load and memory usage? Does anyone have experience with this?
It's fine - the overhead on CPU/memory is generally minimal. You get the benefit of "better" isolation, plus unique OpCache pools for each site.

My gripe is the total lack of documentation surrounding this.

Take, for example, restarting all dedicated pools.

I see Plesk lists a special handler, presumably for PHP-FPM dedicated pools:

Code:
# sudo plesk bin php_handler --list | grep -E plesk.*fpm | awk -F" " '{ print $1 }'
plesk-php73-fpm
plesk-php73-fpm-dedicated
plesk-php74-fpm
plesk-php74-fpm-dedicated

Yet, the service doesn't exist:

Code:
# systemctl status plesk-php74-fpm-dedicated
Unit plesk-php74-fpm-dedicated.service could not be found.

Interesting enough, there is a separate restart-plesk-php74-fpm service file:

Code:
# ls /usr/lib/systemd/system/*.service | grep plesk-php
/usr/lib/systemd/system/plesk-php73-fpm.service
/usr/lib/systemd/system/plesk-php74-fpm_domain.com_0.service
/usr/lib/systemd/system/plesk-php74-fpm.service
/usr/lib/systemd/system/restart-plesk-php74-fpm.service

# cat /usr/lib/systemd/system/restart-plesk-php74-fpm.service
[Service]
ExecStart=/bin/systemctl try-restart plesk-php74-fpm_*

I recall Plesk has an internal CLI which probably accepts plesk-php74-fpm-dedicated and will call the unit above, but I don't remember the exact binary anymore,

Nonetheless - this really should be better documented. Along with what this actually does, etc, etc. Would certainly help with a lot of the questions asked by other people.
 
@john0001 disagree with "It's fine - the overhead on CPU/memory is generally minimal."

We've turned this on for higher tier customers and definitely significant boost in speed as they're not waiting for free workers but its also jacked up short term average CPU utilisation by 20-30% because more peak CPU is available to be used.
 
@john0001 disagree with "It's fine - the overhead on CPU/memory is generally minimal."

We've turned this on for higher tier customers and definitely significant boost in speed as they're not waiting for free workers but its also jacked up short term average CPU utilisation by 20-30% because more peak CPU is available to be used.

Key here is "they're not waiting for free workers" - if you previously did not have enough workers, and now add more, more CPU will be used simply because it can be and needs to be. You'd get similar resource usage by increasing max_workers presumably,
 
Even if the PHP fpm is shared, do they "wait for free workers"? The max_children setting is established per site, isn't it?

I don't understand why enabling this "FPM Dedicated feature" avoids waiting for free workers. :(
 
Is it possible to have a dedicated FPM if I'm running PHP 7.0 with remi repo? The option isn't showing up in Plesk interface
1649108165666.png
 
Back
Top