Hlavní navigace

APC nebo eAccelerator jako PHP cache?

22. 11. 2011 17:32 (aktualizováno) informatik

Konečně jsem se odhodlal a opustil (omezující) webhosting a začal provozovat vlastní virtuální server (VPS), kde jsem svým pánem. První krůčky byly bázlivé a já trochu vystrašený, jestli se dokážu sám starat o celý server (samozřejmě bez údržby o HW). Teď ale vidím, že to není nic tak hrozného. Zatím jsem se na ničem vyloženě nezaseknul.  S linuxem jsem byl trošku kamarád už dřív, takže při výběru OS nebylo co řešit. Jako webserver používám Apache s podporou PHP, jako databázi MySQL, o poštu se stará Postfix atd. Trošku se peru s příkazovou řádkou (BASH), ale zálohovací skript jsem nakonec splodit dokázal…

Abych ze serveru vymáčknul maximum, rozhodl jsem se, že nasadím nějakou opcode cache pro PHP. Proč by se při volání skriptu měl kompilovat znovu a znovu a znovu, když se může zkopilovat jednou a pak být v cache? Nasazení na server je pro mne otázka pár minut (včetně kompilace). Provedl jsem si menší benchmark na svém testovacím serveru (Pentium 4 s taktem 2GHz, 1GB RAM, kernel 2.6.36):

ab -c 2 -n 1000 http://localhost/index.php

(využívám benchmarkovací nástroj ab, který je součástí Apache)

p/s
PHP bez cache 231
eAccelerator 526
APC 529

Vítězem je APC, díky kterému se podařilo skript zavolat celkem 529krátza sekundu! eAccelerator šlape na paty s 526požadavky za sekundu a zbývá čistá instalace PHP s 231 požadavky. Myslím, že nárůst výkonu je sakra znát, nemyslíte? Nasazení cache by bylo u mého minulého webhostéra nemyslitelné, prý „ne vše s tou cache pojede“. Mé skripty s tím problémy nemají… Takže mohu jedině doporučit.

Sdílet

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).