Skip to main content

Nicht verwendete Module und Menüpunkte verursachen Serverlast

Es ist wirklich faszinierend zu beobachten, wie das Content-Management-System Joomla mit Modulen umgeht. In einem Experiment mit Joomla Version 2.5.4 wurde festgestellt, dass die Wartezeit, die das System benötigt, um eine Seite zu laden, etwa 240 Millisekunden beträgt, wenn unglaubliche 2.048 Module auf den Status "Unveröffentlicht" gesetzt sind. Dieser Wert ist überraschend identisch mit der Wartezeit, die entsteht, wenn überhaupt keine Module auf der Seite vorhanden sind. Interessanterweise steigt die Wartezeit drastisch auf etwa 5,08 Sekunden, wenn diese Module veröffentlicht und einer spezifischen Position zugewiesen werden. Setzt man jedoch die Module auf "Veröffentlicht", ohne sie einer bestimmten Modulposition zuzuweisen, indem man "::none" auswählt, verkürzt sich die Wartezeit erheblich auf nur 451 Millisekunden.

Diese Erkenntnisse stammen aus Tests, die auf einer frischen Installation von Joomla 2.5.4 durchgeführt wurden, motiviert durch die Erfahrungen eines Kunden, der mit seiner Joomla 1.5-Website erhebliche Performanceprobleme hatte. Diese Website umfasste eine komplexe Struktur mit 370 Modulpositionen, 200 tief verschachtelten Menüpunkten in zweifacher Ausführung und der Komponente Joomfish, was zu enormen Verzögerungen bei der Verarbeitung führte.

Basierend auf diesen Beobachtungen lässt sich schlussfolgern, dass Joomla alle veröffentlichten Module berechnen muss, unabhängig davon, ob sie einer Position zugewiesen sind oder nicht. Dies gilt ebenso für Menüpunkte, die angelegt, aber nicht in die Website integriert wurden. In einem weiteren Test wurden 512 Menüpunkte erstellt, die nicht in die Seite eingebunden waren, was zu einer zusätzlichen Wartezeit von circa 160 Millisekunden führte.

Die Kombination dieser Struktur mit Joomfish resultierte in fast 6 Sekunden Wartezeit für die Seitenladung und in extremen Fällen in Ladezeiten von bis zu 17 Sekunden, und das auf einem Server, der normalerweise für seine hohe Leistungsfähigkeit bekannt ist (df.eu - ManagedHosting mit 6-Sterne-Performance).

Was bedeutet das nun für die Praxis? Grundsätzlich sollte man meinen, dass es eine Selbstverständlichkeit ist, eine Joomla-Installation so sauber und schlank wie möglich zu halten. Es ist essenziell, bereits im Vorfeld strategisch zu planen, wie man Joomla optimal einsetzt. Dies beinhaltet, keine Module dort zu platzieren, wo sie nicht benötigt werden, besonders bei umfangreichen Websites. Nicht mehr benötigte Module sollten konsequent gelöscht werden, um die Navigation für die Nutzer zu vereinfachen und die Performance der Website zu optimieren. Ein durchdachter Umgang mit den Ressourcen von Joomla kann erheblich zur Steigerung der Geschwindigkeit und Effizienz einer Website beitragen.