Čo je PHP worker
PHP worker je každý proces na serveri, ktorý spracováva jednotlivé PHP úlohy alebo požiadavky používateľov.
Keď si niekto otvorí stránku na webe využívajúcu PHP, server pre túto požiadavku spustí PHP worker. Ten vykoná potrebné operácie, ako je načítanie obsahu z databázy, generovanie HTML, alebo spracovanie formulára.
PHP worker je teda ako „pracovník“, ktorý obsluhuje konkrétnu požiadavku používateľa.
Čo PHP workery najčastejšie spracovávajú?
- Pri e-shopoch PHP workery spracovávajú požiadavky používateľov na zobrazenie produktov, pridanie do košíka, kontrolu objednávky atď.
- Pri prihlasovaní na webe workery overujú používateľské dáta a vytvárajú relácie pre prihlásených používateľov.
- Pri platení na webe PHP workery prijímajú a odosielajú dáta pre platobné brány prostredníctvom API.
Ako PHP workery fungujú v praxi
Každý PHP worker spracováva len jednu požiadavku naraz.
Ak príde nová požiadavka, zatiaľ čo sú všetky workery vyťažené, musí požiadavka čakať, kým sa jeden z workerov neuvoľní.
Každý web (resp. webhosting) má zvyčajne nastavený maximálny počet PHP workerov, ktoré môže využívať súčasne.
Ak dosiahne tento limit a prídu ďalšie požiadavky, dochádza k spomaleniu webu alebo načítaniu stránky trvá dlhšie, pretože nové požiadavky čakajú v rade.
Každý PHP worker spotrebováva aj určité množstvo pamäte podľa toho, čo práve spracováva.
Okrem počtu PHP workerov má preto webhosting nastavené aj limity na to, koľko pamäte môže každý worker využiť (PHP memory_limit) a ako dlho sa môže PHP worker snažiť požiadavku spracovať (PHP max_execution_time).
Keď PHP worker tieto limity prekročí, môže to viesť ku chybám (najčastejšie ku chybe 500 alebo 503) alebo zastaveniu procesu.
Vo Webglobe je počet PHP workerov štandardne nastavený na 20 a PHP memory_limit na 512. Tu sú kompletné parametre webhostingu od Webglobe.