PHP-FPM

PHP-FPM (FastCGI Process Manager) je alternativní implementace PHP FastCGI, která slouží ke správě procesů na webovém serveru. Jednoduše řečeno, jde o součást serverového prostředí, která rozhoduje o tom, jak rychle a jak efektivně server zpracovává PHP kód stránek jako WordPress.

Klasický model zpracování PHP spouštěl nový proces při každém požadavku návštěvníka, což bylo pomalé a náročné na paměť. PHP-FPM tento problém řeší tak, že udržuje skupinu takzvaných worker procesů trvale připravených ke zpracování. Jakmile přijde požadavek, přidělí ho volnému procesu, a výsledek vrátí webovému serveru (typicky Nginx nebo Apache). Celý cyklus je tak výrazně rychlejší.

PHP-FPM pracuje ve spolupráci s webovým serverem přes protokol FastCGI. Webový server sám o sobě PHP neumí, proto předává požadavky PHP-FPM přes síťový socket nebo Unix socket, kde je PHP-FPM vyhodnotí a odpověď pošle zpět. Toto oddělení rolí zlepšuje stabilitu, protože pád PHP procesu neohrozí samotný webový server.

Jednou z klíčových vlastností PHP-FPM jsou takzvané pool konfigurace. Pool je skupina worker procesů s vlastním nastavením, například s jiným uživatelským účtem, limitem paměti nebo počtem procesů. Díky tomu lze na jednom serveru provozovat více webů izolovaně od sebe, například aby přetížení jednoho webu neovlivnilo ostatní.

PHP-FPM nabízí tři režimy správy procesů: static (pevný počet procesů), dynamic (počet se přizpůsobuje zátěži) a ondemand (procesy se spouštějí jen při příchozím požadavku). Pro většinu WordPress webů se doporučuje režim dynamic jako kompromis mezi výkonem a spotřebou paměti. Správné nastavení PHP-FPM je jedním ze základních kroků při optimalizaci výkonu webového serveru.

Časté dotazy