it-swarm.com.de

Anhaltendes Problem mit dem Joomla-Cache

Ich habe eine Joomla-Site, die anhaltende Probleme mit dem Cache hatte.

Wir sind in der Lage, diese Probleme zu lösen, indem wir zum Admin-Bereich gehen und die Caches leeren. Es wäre uns jedoch natürlich lieber, wenn sie überhaupt nicht auftreten würden. Es fällt mir jedoch schwer, das Problem zu beheben, um die zugrunde liegende Ursache herauszufinden.

Die Symptome sind, dass die Site für einen bestimmten Zeitraum normal funktioniert und dann plötzlich leere Seiten mit einem Fehler von 500 ausgegeben werden. Das Problem scheint jetzt nach einem kürzlich durchgeführten Upgrade auf Joomla 3.8 noch schlimmer zu sein.

Ich habe einige Fehlerbehebungen durchgeführt, und der tatsächliche Absturz ist ein Fehler aufgrund unzureichenden Speichers. Die genaue Position variiert, aber das neueste Beispiel hat mir Folgendes geliefert:

Zulässige Speichergröße von 268435456 Bytes erschöpft (versucht, 30548627 Bytes zuzuweisen) .../libraries/src/Cache/Storage/FileStorage.php: 195

Dies ist die Methode FileStorage::store(), mit der versucht wird, dem Cache einen Codeblock hinzuzufügen.

Blick auf den Inhalt von $data zu diesem Zeitpunkt sind es serialisierte PHP) Daten, die zahlreiche Kopien aller Module auf der Homepage enthalten, und die Größe der Daten ist groß genug, um uns über das Speicherlimit hinauszuschieben, wenn wir versuchen, es vorwegzunehmen.

Es gibt definitiv mehrere Instanzen aller Module, und ich vermute, dass sie sich im Laufe der Zeit im Cache ansammeln, bis sie für das Speicherlimit zu groß werden.

Was ich nicht verstehe (und nicht aus dem Debuggen herausarbeiten kann, das ich getan habe), ist, warum dieses geschehen würde. Zu dem Zeitpunkt, an dem der schwerwiegende Fehler auftritt, ist der Punkt, an dem diese große Struktur voller Module aufgebaut ist, bereits weit überschritten, und ich verfüge nicht über die umfassenden Kenntnisse der Interna von Joomla, um weiter graben zu können.

Kann mir da draußen jemand einen Hinweis geben, was hier passieren könnte und wie ich es dauerhaft lösen kann?

Vielen Dank.

5
Simba

Wechseln Sie zu konservativem Caching, progressives Caching sollte vermieden werden . Aufgrund der fortschreitenden Zwischenspeicherung treten alle möglichen Probleme auf, unter anderem Speicherprobleme und Probleme mit dem Dateisystem. Ganz zu schweigen davon, dass aufgrund all dieser konstanten Dateischreibvorgänge, die durch fortschreitendes Caching verursacht werden, möglicherweise ein Hardwarefehler auftritt.

Sehr wenige Joomla-Sites müssen wirklich progressives Caching verwenden, und die Sites, die es tatsächlich benötigen, verwenden am Ende etwas anderes. Progressive Caching ist nicht gut codiert und in Joomla 3.8 noch viel schlimmer.

Übrigens, wenn Sie dieses Speicherlimit auf 256 MB festgelegt haben, weil aufgrund der Verwendung des progressiven Cachings Probleme auftreten, sollten Sie diese Anzahl auf überschaubare 64 MB reduzieren (nachdem Sie zum konservativen Caching gewechselt haben). 256 MB sind zu hoch und werden auf einer Joomla-Site selten benötigt.

2
itoctopus