eAccelerator vs. xcache: Caches für PHP
Linux/OpenSource, PHP April 23rd, 2008Nachdem Dominik ein paar Benchmarks zu verschiedenen opcode Caches für PHP veröffentlich hat, möchte ich auch ein paar Erfahrungen von mir beisteuern.
Ich habe auf verschiedenen (Linux) Servern schon seit langer Zeit (code) Caches für PHP eingesetzt, doch keiner hat bisher so funktioniert, dass ich gut zufrieden war. Die Geschwindigkeit ist dabei weniger das Problem, als die Stabilität.
Und damit stehe ich leider nicht alleine da. Auch in diesem Blogbeitrag zu eAccelerator finden sich Kommentare, in denen die Stabilitätsprobleme beschrieben werden, vor allem Apache crashes, die durch crashes (segfault) von PHP bzw. der Zend Engine ausgelöst werden.
Da ich bei einem neuen Server nicht auf die immensen Geschwindigkeitsvorteile eines op-code Caches verzichten wollte, habe ich etwas mehr experimenterit. Die Hardware ist AMD64 mit zwei CPU Kernen, 4 GB Ram und Ubuntu Gutsy und PHP als FastCGI (PHP 5.2.3).
Schon seit der eAccelerator noch turck mmCache hieß, habe ich ihn verwendet – und bis heute hat sich die Instabilität stabil gehalten. Am besten so, dass sie sich schlecht reproduzieren läßt – die Hoffnung statt per „extension“ den Cache als „zend_extension“ zu laden wurde nur mit wenigen Stunden länger ohne Crashes belohnt.
Versuche mit APC sahen ähnlich aus. Dann der Wechsel zu xcache – wer etwas so geniales wie lighttpd baut, wird sicher auch einen guten opCode Cache für PHP erstellen können. Doch auch hier wieder: sefaults, php crash.
Schließlich der Hinweis auf die Read-only-protection von xcache – meines Wissens nach ein Feature, dass kein anderer opcode Cache bietet. Hier wird per doppeltem mmap sichergestellt, dass der Speicher nicht korrumpiert werden kann. Un in der Tat – seit über 24 Stunden stabil, auch mit dem akutellen phpbb3, welches bisher das Sorgenkind war.
Doch heute Abend war dann auch hier die Hoffnung verflogen.
[2005079.980997] php-cgi[30367]: segfault at 00000000fffffffe rip 000000000062da5f rsp 00007fff2e90fde0 error 4
Vielleicht ist die Geschwindigkeit dann doch weniger relevant als die Stabilität.
April 24th, 2008 at 10:51
[…] Kruse hat auf seinem Blog everflux seine Erfahrungen zur Stabilität mit den diversen OpCode Caches veröffentlicht – mit einem […]
September 21st, 2008 at 16:07
Hat sich was getan bezüglich der Stabilität? Teste zur Zeit PHP Version 5.2.0-8+etch11 mit xcache und eaccelerator. Bisher keine Probleme
Gruß
September 21st, 2008 at 19:05
Allerdings: Stabil läuft bei mit jetzt fcgid und APC, eaccelerator und xcache konnte ich nicht zum stabilen Betrieb überreden. Auch FastCGI (mod_fastcgi) nicht, während fcgid sehr zuverlässig läuft.
November 8th, 2009 at 22:30
Kann’s sein, dass der Rechner defekten Arbeitsspeicher / Festplatte hat?
Dezember 10th, 2009 at 09:40
Der Eintrag ist zwar schon etwas älter, aber ich glaube nicht, dass deine Probleme mit der verwendeten Software zu tun haben.
Es sieht mir eher danach aus als dass
a) Hardware defekt oder
b) administrativer Fehler
vorliegt.
März 4th, 2010 at 17:20
[…] Weitere Quellen: PHP Performance Profiling Benchmarking PHP: eAccelerator und andere OpCode Caches eAccelerator vs. xcache: Caches für PHP […]
August 12th, 2010 at 22:55
ist das hier noch aktuell ?