Zadejte hledaný výraz...

Omezení zdrojů pro PHP scripty

horonet
verified
rating uzivatele
27. 3. 2013 16:53:10
Zdravím.
Mám na serveru cca 200 virtuálu. S 95% z nich nejsou problémy. Ale pár z nich občas nárazově vytíží server tak, že se skoro zastaví. Jejich správci tvrdí, že u nich je vše OK a že jejich scripty sami o sobě nic nedělají. Koukal jsem, že hodně toho má na svědomí sklik bot ze se seznamu.
Rád bych jednotlivé virtuály omezil. V úvahu přichází trojice direktiv (RLimit*). Všechny virtuály jsou v reřimu suPHP.
Chci se zde zeptat, jestli s tím má někdo zkušenosti, že a jak to skutečně funguje a jaké jsou doporučené hodnoty?
Protože např.
RLimitCPU 20 30
RLimitMEM 32000000
RLimitNPROC 12 15
... moc nefunguje a virtuál padne na nemožnosti alokovat paměť. A podle logů to není zrovna navštěvovaný web. Spíš nenažraný. :)
Nebo PLS poradte lepší řešení.
27. 3. 2013 16:53:10
https://webtrh.cz/diskuse/omezeni-zdroju-pro-php-scripty#reply883486
carlos
verified
rating uzivatele
(19 hodnocení)
27. 3. 2013 18:52:13
Lepsi reseni je zanalyzovat proc a ktery skript to dela a kde je problem.
27. 3. 2013 18:52:13
https://webtrh.cz/diskuse/omezeni-zdroju-pro-php-scripty#reply883485
Martin Tiršel
verified
rating uzivatele
(1 hodnocení)
27. 3. 2013 21:44:27
Ja som pouzival apache-mpm-worker a fcgid, tam som uzivatelom nastavil limity na pocet php procesov, tym zabranis, ze ti nejaky bombardovany web vytvori hromadu procesov a requesty sa tak budu hromadit a cakat vo fronte, pripadne timeoutovat, ak je toho velmi vela. Naviac pre kazdy virtual mozes pouzit samostatne php.ini. Co sa tyka obmedzenie na CPU, tak tam by som sa skusil pozriet na cgroups, ale zatial s tym nemam prakticke skusenosti (viz. napr. tu). Ak ti PHP bezi pod uzivatelom/skupinou (co nie je problem u suexec alebo fastcgi/fcgid), tak by malo byt mozne to nejako rozumne nastavit.
Pripadne este doporucujem pozriet na PHP FPM, co sa tyka spravy procesov, to tiez vyzera zaujimavo, ale riesi to len tie procesy. A este pozor na apache, ten je na pamat dost nenazrany, niekedy je vhodne pre neho zapojit nginx ako reverznu proxy, staticke veci nechat servirovat nginx a dynamicke veci posunut na apache.
27. 3. 2013 21:44:27
https://webtrh.cz/diskuse/omezeni-zdroju-pro-php-scripty#reply883484
horonet
verified
rating uzivatele
28. 3. 2013 12:51:30
Napsal bruce;929083
Ja som pouzival ...
Díky za tipy. :) Zatím vypadá, že "RLimitNPROC 12 15" pomohlo.
28. 3. 2013 12:51:30
https://webtrh.cz/diskuse/omezeni-zdroju-pro-php-scripty#reply883483
Pro odpověď se přihlašte.
Přihlásit