Die Vorschau wird schneller

Detail of "Spider web at sunrise" - Luc Viatour / www.Lucnix.be

19.11.2010

Die Vorschau wird schneller

Optimierungen in den Vorlagen beschleunigen die Vorschauberechnung

Cursor Sanduhr

Wir haben in den vergangenen Wochen die Ursachen für die lange Ladezeit der Vorschau mit Hilfe des Herstellers untersucht. Die wichtigsten Ursachen:

  • Die Logik in unseren Vorlagen ist teilweise so komplex geworden, dass die Generierung der Vorschau für längere Zeit eine CPU beansprucht
  • Die Häufigkeit, wie oft eine Vorschau angefragt wird, ist stark gewachsen, da immer mehr Redakteure gleichzeitig mit FirstSpirit arbeiten, in Spitzenzeiten über 40. Wenn die integrierte Vorschau aktiviert ist, steigt die Zahl der Anfragen noch mal deutlich.
  • Unser Server verfügt über 8 CPUs. Sobald diese komplett ausgelastet sind, was in Spitzenzeiten oft der Fall ist, verlängert sich die Wartezeit für alle Anfragen erheblich. So vergehen manchmal bis zu zwei Minuten, bis die Vorschau angezeigt wird.

Wir haben daraufhin analysiert, welche Teile in unseren Seitenvorlagen besonders viel Generierungszeit benötigen. Dabei haben wir herausgefunden, dass die Generierung der Navigationselemente extrem viel Zeit beansprucht; die Hauptnavigation benötigt alleine mehr als die Hälfte der Gesamtzeit für eine einzelne Seite.

Für die Vorschauberechnung haben wir deshalb zwei besonders ressourcenfressende Funktionen entfernt, die uns verzichtbar erscheinen:

  • Prüfung, ob für die Seite, die mit dem Menüeintrag verknüpft ist, ein Zugriffsschutz vorliegt, um dann ein Schloss-Symbol hinter dem Menüeintrag anzuzeigen. Stattdessen wird jetzt auf der geschützten Seite selbst ein Schlosssymbol als Hintergrund eingeblendet.
  • Prüfung, ob die Zielseite übersetzt ist, um dann, wenn dies nicht der Fall ist und zugleich eine andere Mastersprache als deutsch definiert ist, automatisch zur übersetzten Version in der Mastersprache weiterzuleiten.

Insbesondere bei der zweiten Funktion wird deutlich, dass unsere Vorlagen aufgrund der sehr vielfältigen Anforderungen unserer Anwender teilweise recht komplex sind, was sich insbesondere bei der Navigation bemerkbar macht, weil die Logik hier auf alle verknüpften Seiten angewendet wird.

Wir können in der Vorschau auf die beiden genannten Prüfungen ohne Weiteres verzichten, da hier ohnehin keine Authentisierung vorgenommen wird und als Sprache grundsätzlich die aktuell gewählte angezeigt wird. Durch diese beiden Maßnahmen konnte die Generierungszeit für eine Seite nahezu halbiert werden.

Die Generierung der Webseiten fürs Live-System bleibt davon unberührt. Diese wird ohnehin von einem zweiten Server durchgeführt und belastet somit unseren Hauptserver nicht.

Wir werden in nächster Zeit fortfahren, die größten Bremsen in den Vorlagen ausfindig zu machen, um die Vorlagen weiter zu optimieren. Wir hoffen, dass sich diese Änderungen spürbar auswirken, und Sie dadurch besser mit FirstSpirit arbeiten können.

zur Liste