Co je PHP worker
PHP worker je každý proces na serveru, který zpracovává jednotlivé PHP úlohy nebo požadavky uživatelů.
Když si někdo otevře stránku na webu využívajícím PHP, server pro tento požadavek spustí PHP worker. Ten vykoná potřebné operace, jako je načítání obsahu z databáze, generování HTML, nebo zpracování formuláře.
PHP worker je tedy jako „pracovník“, který obsluhuje konkrétní požadavek uživatele.
Co PHP workery nejčastěji zpracovávají?
- U e-shopů PHP workery zpracovávají požadavky uživatelů na zobrazení produktů, přidání do košíku, kontrolu objednávky atd.
- Při přihlašování na webu workery ověřují uživatelská data a vytvářejí relace pro přihlášené uživatele.
- Při placení na webu PHP workery přijímají a odesílají data pro platební brány přes API.
Jak PHP workery fungují v praxi
Každý PHP worker zpracovává jen jeden požadavek najednou.
Pokud přijde nový požadavek, zatímco jsou všechny workery vytížené, musí požadavek čekat, dokud se jeden z workerů neuvolní.
Každý web (resp. webhosting) má obvykle nastavený maximální počet PHP workerů, které může využívat současně.
Pokud dosáhne tohoto limitu a přijdou další požadavky, dochází ke zpomalení webu nebo načítání stránky trvá déle, protože nové požadavky čekají ve frontě.
Každý PHP worker také spotřebovává určité množství paměti podle toho, co zrovna zpracovává.
Wedle počtu PHP workerů má proto webhosting nastavené i limity pro to, kolik paměti může každý worker využít (PHP memory_limit) a jak dlouho se může PHP worker snažit požadavek zpracovat (PHP max_execution_time).
Když PHP worker tyto limity překročí, může to vést k chybám (nejčastěji chybě 500 nebo 503) nebo zastavení procesu.
U Webglobe je počet PHP workerů standardně nastavený na 20 a PHP memory_limit na 512. Zde jsou kompletní parametry webhostingu od Webglobe.