PHP Bytecode Cacher im Vergleich
Geschrieben von andy • Montag, 5. November 2007 • Kategorie: combjutaPHP Beschleuniger beschleunigen PHP Anwendungen dadurch, dass sie die kompilierten PHP Skrite direkt im Shared Memory (RAM) ablegen und von dort aus aufrufen. Somit müssen die Skripte nicht mehr zur Laufzeit generiert werden. Das nimmt der CPU enorm viel arbeitet ab und beschleunigt manche PHP Anwendungen um den Faktor 5. Die freigewordene CPU Zeit kann wiederum an anderer Stelle gewinnbringend eingesetzt werden, so dass der eigentlich Perfomancezuwachs noch höher ist.
Zend-Gründer Zeev Suraski: "...Ein OpCode-Cache kann ein sehr wesentlicher Teil des ganzen Setups sein. Manchmal braucht man zwei zusätzliche Server, wenn man keinen OpCode-Cache verwendet..."
Da wir in den letzten Monaten öfters Probleme mit eAccelerator in Verbindung mit neuen PHP Versionen oder dem PHP Framework Symfony hatten, habe ich mir mal einen kleinen Überblick über die bekanntesten PHP Beschleuniger verpasst:
Zum einen gibts da die hauseigene Zend Platform, die bei kommerziellem Einsatz natürlich lizensiert werden muss. Der oben erwähnte eAccelerator ist die Fortsetzung des Turck MMCache. XCache entstand unter der Regie von lighttpd Entwickler mOo, der zwar ursprünglich versuchte, Erweiterungen und Fehler bei eAccelerator einzukippen - dort aber wohl auf taube Ohren stieß. So startete er seinen eigenen PHP Beschleuniger XCache.
Außerdem gibts noch den IonCube Encoder und das PECL Package Alternative PHP Cache (APC). Der IonCube Encoder ist allerdings kein wirklicher Beschleuniger, er "verschlüsselt" den PHP Code nur und so wird die Ausführung des Codes eher verlangsamt als beschleunigt. APC hingegen wird in PHP6 integriert werden, da dieser Cacher als einziges Produkt am Markt mit einem für das PHP Dev Team verträglichen Lizenzmodell kommt. APC ist schon ein wenig älter, wurde allerdings nicht in PHP5 eingebaut, da es mit der damaligen Version unter Hochlast zu Systemabstürzen führte. In PHP6 wird APC zwar mit dabei sein, ist aber per default deaktiviert.
Eine Zusammenfassung der Features, Unterschiede und Lizenzen findet ihr auf dieser Seite. Die oben aufgeführten PHP Beschleuniger werden zusätzlich hinsichtlich Ausführungszeit von Standard Anwendungen geprüft (phpmyadmin, mediawiki,helloworld).
Mein nächster Kandidat heisst nun erstmal XCache!
Links:
Zend platform
Homepage des eAccelerator
XCache Homepage
IonCube Webseite
Homepage des Alternative PHP Cache (APC)
Interview mit Zend-Gründer Zeev Suraski auf Golem | Top Exits (3036)







