PHP-FPM Optimization

Fewer workers, if the RAM is the limit. Not more.

pm.max_children against the memory you paid for, a slow-request log, opcache actually on. Raising the pool on a 2 GB VPS is how it starts swapping.

What we measure

Idle workers, max children reached, request time

The pool status

If max children is never reached, the pool is not the wait. Adding workers does nothing. The time is in the script or the database.

Memory per worker

A WooCommerce request is not a 32 MB process. The ceiling is RAM minus MariaDB, divided by the real size. The rest wait, instead of swapping.

Opcache

Off, or full, so every request compiles. We turn it on and size it. We do not disable it to “fix” a stale file. A reload does that.

Not this page

A dead socket is support. A slow query is MariaDB.

Optimization assumes the pool is running and the site answers. If it 502s, or one query holds every worker, we switch jobs and say so.

PHP-FPM is down → · NGINX cache →

Price

€55 an hour. The first hour is the measurement.

Minimum 1 hour. Further changes are agreed. A bigger VPS is recommended only if the measured worker size cannot fit the traffic you already have.

Pricing →

Site slow under load, fine when you are alone on it?

Tell us the RAM and the PHP version. No root password in the first message.

Request Support → Contact Us