
Nach einem Projektumzug vor ein paar Wochen von einem stabilen aber langsamen Projekt auf zwei Servern zu einer totalen Apokalypse mit Load-Zahlen von 50 an der Tagesordnung auf vier (!) Servern habe ich nun endlich herausgefunden dass PHP 5.1.6 ganz großer Mist ist.
Leider konnte ich nicht 100%ig herausfinden was genau das Problem war. Sicher ist das PHP 5.1.6 noch das
SimpleXML-Problem hat bei dem ein Speicherloch im Zusammenhang mit
foreach auftritt. Dieses lässt sich relativ leicht lösen in dem der Node vor dem
foreach kopiert wird:
// Speicherloch
foreach($node->books as $book) ...
// Funktioniert gut
$books=$node->books;
foreach($books as $book) ...
Danach ging's ein wenig besser, einzelne Maschinen fielen trotzdem wegen zu hohem Load aus. Vor ein paar Tagen wurde auf PHP 5.3.1 aktualisiert, seitdem läuft alles stabil. Ich kann also empfehlen immer eine aktuelle Version von PHP zu verwenden. Bei einigermassen vernünftigem Code lassen sich Anwendungen auch schnell
kompatibel einstellen.