Režim PHP Process Manager
PHP-FPM nebo FastCGI Process Manager for PHP poskytuje několik režimů správy pro své pracovní procesy. Tyto režimy určují, jak bude PHP-FPM vytvářet, udržovat a recyklovat podřízené procesy, které zpracovávají požadavky PHP. Režim se nastavuje pomocí konfigurační direktivy pm .

dynamic (výchozí)
V dynamic režimu PHP-FPM dynamicky upravuje počet vytvořených podřízených procesů na základě poptávky a řídí se následujícími direktivami:

pm.max_children maximální počet dětí, které mohou být současně naživu
pm.start_servers počet dětí vytvořených při spuštění
pm.min_spare_servers minimální počet dětí v „nečinném“ stavu (čekající na zpracování). Pokud je počet „nečinných“ procesů menší než tento počet, vytvoří se nějaké potomky
pm.max_spare_servers maximální počet dětí ve stavu „nečinnost“ (čekající na zpracování). Pokud je počet „nečinných“ procesů větší než tento počet, budou některé děti zabity
pm.max_spawn_rate maximální počet sazbou pro vytvoření podřízených procesů najednou

Mezi výhody patří automatické přizpůsobení počtu podřízených procesů na základě poptávky, což zajišťuje optimální využití zdrojů. To je užitečné zejména pro servery s proměnlivým zatížením.

static
Ve static režimu PHP-FPM udržuje pevný počet podřízených procesů. Toto číslo je určeno direktivou pm.max_children . Mezi výhody patří konzistentní využití paměti díky konstantnímu počtu podřízených procesů. To je ideální pro servery se stabilní zátěží.

ondemand
V režimu ondemand se při spuštění nevytvářejí žádné potomky. Místo toho PHP-FPM vytvoří podřízené procesy pouze v případě potřeby, tj. když existuje příchozí požadavek, který vyžaduje zpracování. Maximální počet dětí, které mohou být současně naživu, je řízen direktivou pm.max_children . Procesy jsou poté ukončeny po určité době nečinnosti direktivou pm.process_idle_timeout . Mezi výhody patří snížené využití paměti během období nízkého nebo žádného provozu. Ideální pro servery s občasným zatížením nebo aplikace s nepředvídatelnými vzory provozu.

Nejlepší režim pro vaši aplikaci se může lišit v závislosti na dostupných zdrojích serveru, vzorcích provozu a specifických charakteristikách aplikace. Pro dosažení optimálního výkonu je nezbytné sledovat a dolaďovat nastavení.