:::: MENU ::::

WebDevExp

Meine Erfahrungen in der Webentwicklerwelt

APC statt eaccelerator oder XCache

Linux allgemein, Webserver

APC statt eaccelerator oder XCache

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

2 Comments

  1. Maeusl

    Hallo,

    ich habe auch ACP installiert. Allerdings hat es mir jedesmal die PHP Web-Seiten zerschossen. MySql error 500
    Installation:
    apt-get install php-acp
    /etc/init.d/apache2 restart

    Neustart des MySql Servers hat nichts gebracht.
    ich nutze Leny mit php cgi

    Habt ihr eine Idee wo ich was ev. noch eintragen muß damit das funzt?

    Antworten
  2. Michael

    gute frage… ist immer schwer das allgemein zu sagen, mysql error 500 ? meinst evtl eher allgemein server error 500, oder? ich arbeite auch schon lange nicht mehr mit apache, weiß nicht, ob es damit zusammenhängt.

    spontan würde ich mal alle möglichen errorlogs durchforsten, da steht meistens was, wenn das auch nicht hilft, gibts immernoch die möglichkeit zu den php prozess zu tracen, um zu sehen, wann er stirbt

    Antworten

Leave a comment

Loading Facebook Comments ...