Introducing PHP Process Management Type on FlyWP

Recently, we discovered how PHP workers affected a few customers with high resource usage. We learned a few new things along the way and thought how we could cater to our audience better.

As it turns out, increasing the number of PHP workers had some unforeseen consequences. Here’s what happened:

  • Skyrocketing Resource Use: The extra PHP workers demanded more CPU and memory. Servers with lots of sites, especially those running MySQL through Docker, felt the heat.
  • Memory Woes: Sites, particularly those with WooCommerce or lots of plugins, started running into memory exhaustion issues.
  • 500 Errors Galore: Some sites even began returning 500 errors, causing quite the panic.

We wanted to give you more control, so we introduced a new settings panel inside the existing PHP settings.

Introducing the New PHP Process Manager Type on FlyWP

We are thrilled to announce a new feature in FlyWP that will significantly enhance your site’s performance and management flexibility: the PHP Process Manager Type. This addition allows you to select the process manager type for PHP-FPM, providing more control over how child processes are managed on your server. Let’s dive into the details!

What is PHP Process Manager Type?

PHP Process Manager (PM) Type determines how PHP-FPM (FastCGI Process Manager) manages the child processes that handle your PHP requests. Depending on your website’s traffic and server resources, you can select different PM types to optimize performance and resource usage.

New Process Manager Types

Go to your Site’s Settings → PHP Settings (at the top) to find out the newly deployed Processor Manager Type settings. Now, you can configure the Process Manager Type (Static, Dynamic, On Demand) and adjust the values as you see fit. Here’s a quick rundown of what each type means:

Flywp Php Pm Settings
  • Static:
    • With the Static PM type, a fixed number of child processes are created when the PHP-FPM service starts. This number remains constant, ensuring predictable memory usage. It is ideal for high-traffic sites with consistent load.
  • Dynamic:
    • The Dynamic PM type adjusts the number of child processes based on the server load. It starts with a minimum number of processes and can increase up to a specified maximum as needed. This type is perfect for sites with fluctuating traffic.
  • On Demand:
    • The On Demand PM type creates child processes as requests come in and terminates them when they are no longer needed. This approach minimizes memory usage, but may introduce slight delays as new processes are created for incoming requests. Perfect for low-traffic sites focused on resource conservation.

As always, we’re here for you and always striving to make FlyWP the best platform for managing your WordPress sites. If you have any feature requests, feel free to submit your ideas at feedback.staging.flywp.com. If you have any queries, contact us or reach out to us by emailing at [email protected]