Režim PHP Process Manager
PHP-FPM alebo FastCGI Process Manager pre PHP poskytuje niekoľko režimov správy pre svoje pracovné procesy. Tieto režimy určujú, ako bude PHP-FPM vytvárať, udržiavať a recyklovať podriadené procesy, ktoré spracovávajú požiadavky PHP. Režim sa nastavuje pomocou konfiguračnej direktívy pm .

dynamic (predvolené)
V dynamic režime PHP-FPM dynamicky upravuje počet vytvorených podriadených procesov na základe dopytu a riadi sa nasledujúcimi direktívami:

pm.max_children maximálny počet detí, ktoré môžu byť súčasne nažive
pm.start_servers počet detí vytvorených pri spustení
pm.min_spare_servers minimálny počet detí v stave „nečinnosť“ (čakajúce na spracovanie). Ak je počet „nečinných“ procesov nižší ako tento počet, vytvoria sa nejaké deti
pm.max_spare_servers maximálny počet detí v stave „nečinnosť“ (čakajúce na spracovanie). Ak je počet „nečinných“ procesov väčší ako tento počet, niektoré deti budú zabité
pm.max_spawn_rate maximálny počet rýchlostí na vytvorenie podradených procesov naraz

Medzi výhody patrí automatické prispôsobenie počtu podriadených procesov na základe dopytu, čím sa zabezpečí optimálne využitie zdrojov. To je užitočné najmä pre servery s kolísavým zaťažením.

static
V static režime PHP-FPM udržiava pevný počet podriadených procesov. Toto číslo je určené direktívou pm.max_children . Medzi výhody patrí konzistentné využitie pamäte vďaka konštantnému počtu podriadených procesov. Toto je ideálne pre servery so stabilným zaťažením.

ondemand
V režime ondemand sa pri spustení nevytvoria žiadne deti. Namiesto toho PHP-FPM vytvorí podriadené procesy len vtedy, keď je to potrebné, tj keď príde požiadavka, ktorá potrebuje spracovanie. Maximálny počet detí, ktoré môžu byť súčasne nažive, je riadený direktívou pm.max_children . Procesy sú potom ukončené po určitom čase nečinnosti direktívou pm.process_idle_timeout . Medzi výhody patrí znížené využitie pamäte počas obdobia nízkej alebo žiadnej prevádzky. Ideálne pre servery s prerušovanou záťažou alebo aplikácie s nepredvídateľnými vzormi prevádzky.

Najlepší režim pre vašu aplikáciu sa môže líšiť v závislosti od dostupných zdrojov servera, vzorov prevádzky a špecifických charakteristík aplikácie. Na dosiahnutie optimálneho výkonu je nevyhnutné sledovať a dolaďovať nastavenia.