Dedicated PHP-FPM Pool per Website

PHP workers of its own for one website

Give one website its own PHP workers

By default every site on your server shares one group of PHP workers. A dedicated pool gives one project workers of its own, so a traffic flood on that site can only use up its own workers, never those of your other sites.

Where: Projects › click a project › PHP-FPM Pool
Shared pool: sites A, B and C use one pool of PHP workers, so a flood on A slows B and C. Dedicated pool: site A has its own pool, B and C share the server-wide pool, so a flood on A stays in A. Shared (default) Dedicated pool for site A Site A Site B Site C Site A Site B Site C One pool of PHP workers Its own Server-wide pool shared by every site pool sites B and C A flood on A slows B and C A flood on A stays in A
Shared pool: sites A, B and C use one pool of PHP workers, so a flood on A slows B and C. Dedicated pool: site A has its own pool, B and C share the server-wide pool, so a flood on A stays in A. Shared (default) Dedicated pool for site A Site A Site B Site C Site A Site B Site C One pool of PHP workers Its own Server-wide shared by every site pool pool: B and C A flood on A slows B and C A flood on A stays in A

With a dedicated pool, a busy or attacked site uses up only its own PHP workers.

01 · Turn it on

  1. Click Enable dedicated pool.
  2. Confirm. On the server, a new pool is made as a copy of the server-wide one and checked, PHP-FPM reloads gently, the project's virtual host is pointed at the new pool (nothing else in it changes), and Apache reloads gently. Every step is checked first and undone if it fails.
  3. The card shows Dedicated pool, its name and PHP version, and active.

02 · What the card shows

  • Off: Running on the server-wide pool, shared with every other site.
  • On: the pool's health. active is good; socket missing or pool running, but the vhost does not point at it mean something needs a look.
  • Live counters, every 5 seconds: active, idle and total workers, requests waiting, how many times the worker limit was reached (red above 0), slow requests, and requests since start.

03 · Tune it or turn it off

Edit Pool Config

Edit the pool's settings, for example its number of workers, and click Save & Reload PHP-FPM. The file is checked first; on an error it is put back.

Disable dedicated pool

Points the virtual host back at the server-wide pool, removes the pool (a copy is kept) and reloads PHP-FPM.

Refresh

Reads the pool's state again.

A virtual host made later from the project's template keeps using the dedicated pool. Live Logs › PHP-FPM Error on the project page reads the error log the project's pool writes to, and says above the log when that file is shared with other sites. Server-wide PHP settings: PHP configuration.

Projects tab