Lange plagten wir uns mit dem Problem, dass die Webserver nach ein paar Tagen Betrieb 500er warfen (500 – Internal Server Error). Dies ging dann ein paar Sekunden so (nur 2-3) und danach lief alles wieder glatt. Das ganze passierte wahllos mal auf diesem, mal auf einem anderen Webserver.

Mit der Zeit fanden wir heraus, dass dies wohl am eaccelerator liegt, worauf wir XCache versuchten, was anfangs einen besseren Eindruck machte. Nach 2-3 Tagen Betrieb unter Hochlast, trat wieder das selbe Problem auf.

Nach langem Suchen durch diverse Foren und Blogs, fand ich heraus, dass dies keine unbekannten Probleme sind, die einfach auf Bugs in diesen Opcode Cachern (eaccelerator und XCache) zurückzuführen sind und man solle doch APC (Alternative PHP Cache) nutzen.

Freudig stellte ich fest, dass APC nicht mehr bei jedem Update selbst kompiliert werden musste (phpize, configure, make, make install), sondern einfach via apt-get zu beziehen ist (unter Debian/Lenny, noch nicht unter Etch), das Paket nennt sich “php-apc”. Nicht, dass ich das Selbstbauen scheue, aber bei über 20 Webservern, die teilweise 32, teilweise 64 Bit Kernel haben, ist man froh, wenn man sich diese Arbeit sparen kann.

Nun läuft APC auch noch seit Wochen ziemlich stabil, ab und zu tritt noch ein 500er auf, aber dies hat andere Gründe (lighttpd backend overloaded), an denen wir arbeiten. Die APC-Config basiert auf den Standardwerten, abgesehen von “apc.stat_ctime”, welches auf 1 gesetzt ist, da der Cacher sonst nicht mit Dateiaktualsierungen via SVN klarkommt.
Performancetechnisch ist bis jetzt kein Nachteil gegenüber den beiden Konkurrenzprodukten festzustellen.
Weiterhin spricht die Tatsache, dass es offiziell von den PHP-Entwicklern supportet wird, ebenfalls für APC.

Fazit: Was spricht gegen APC? Warum werden so oft eaccelerator und XCache genutzt, obwohl es sich bei beiden noch um Beta-Versionen handelt (Version < 1)?

Hintergrundinfo (alles Lenny Pakete):
- php-apc Version: 3.0.19-2
- php-cgi Version: 5.2.6.dfsg.1-1+lenny2
- lighttpd Version: 1.4.19-5

Hinterlasse einen Kommentar.