Fehler bei Archivierung - noch immer :(

Also ich habe tierische Probleme mit der Archive.php und das ca. seit der Version 1.8. Dachte schon, das liegt an der ständigen Updaterei der Scripte und habe daher den Server komplett neu aufgesetzt. Hat nichts gebracht.

Seite 1 ist meine “größte” Seite und hat ca. 4500 Besucher am Tag. Also das ist nicht so viel, da gibt es ganz andere laut Forum und Doku.

Die Archivierung startet mit Seite 1, geht recht schnell durch bis zur Jahresarchivierung und da hängt sie dann gut 30 Minuten. Derweil steigt der Speicherverbrauch vom Apache-Prozess auf über 900 MB! Was wird da denn alles in den Speicher geladen? CPU-Last ist für den einen Prozess auch 60-80%!

Ok, Probleme mit dem Speicherlimit gibt es da nicht - noch nicht.

Dann startet der Durchlauf von Seite 2. Wieder schnell bis zur Jahresporiode. Allerdings bleibt der alte Apache-Prozess “stehen” und ein neuer wird verwendet. Das geht dann mit allen Seiten so weiter, bis Piwik mit seiner Archivierung die kompletten 2 GB RAM aufgebraucht hat. Letzendlich stürzt der Apache komplett ab, Sendmail ist tot und Cron auch. Alle Dinste sind offline.

Also so kann das nicht weitergehen. Bei der archive.sh war das viel viel besser. Da startete der PHP-Prozess und wurde nach dem Durchlauf beendet, dann startete ein neuer.

So, was soll ich denn bitte machen? Ich nutze Piwik jetzt schon sehr lange, aber so hat das absolut keinen Sinn mehr. Ich suche jetzt schon jeden Tag nach möglichen Fehlerquellen und finde absolut keine. In den Scripten selbst kenne ich mich gar nicht aus. Fast jeden Morgen müssen die Dienste neu gestartet werden, da die über nacht mal wieder abschmierten. Und in den letzten 7 Tagen habe ich keine einzige fehlerfreie Archivierung geschaft, trotz stündlichem Durchlauf.

Z.b. ist mir auch klar, dass die DB durchaus ein Flaschenhals ist. Gerne würde ich der ein wenig mehr Ram für Puffer etc. gaben, aber das geht nicht, wenn der Apache immer wieder mal meint auf 1 bis 2 GB ansteigen zu müssen. Kann man die Archivierung denn nicht “Stückchenweise” machen?

Wo genau erfolgt die denn in den ganzen Scripten? Würde da auch gerne etwas selbst rumtesten, habe aber absolut keine Ahnung, in welchem File z.B. die Periode “jährlich” bearbeitet wird. Die Url ja, index.php?module=API&method=VisitsSummary.getVisits&idSite=26&period=year&date=last4&format=php&token_auth=xxx&trigger=archivephp, aber welche Files sind dann beteiligt? Welche Funktionen? Irgendwo muss das ja sein und irgendwas muss da ja auch den ganzen Speicher zumüllen.