Als Nutzer eines CMS ist dieses Kriterium ein entscheidendes. In Zeiten von Breitbandzugängen zum Internet per DSL fällt es mehr denn je ins Gewicht, möchte man mit der eigenen Site im Vergleich zu anderen nicht dadurch auffallen, dass eine Seite zahlreiche Sekunden braucht, um endlich vollständig inklusive aller Illustrationen beim Nutzer zu erscheinen.
Doch was macht ein CMS langsam?
Während bei statischen Websites nur Dateien auf dem Server geladen und zum Nutzer (Besucher der Site) übertragen werden, sind es beim CMS Programme, welche statt der Dateien abgerufen werden. Diese Programme werden auf dem Server gestartet und erzeugen dann die eigentlichen Daten, welche zum Nutzer gelangen.
Dabei berücksichtigen diese Programme je nach Art verschiedene Faktoren im Zuge der Seitenerstellung, was bereits für eine spürbare Verzögerung von Seitenaufbauten führen kann. Zu diesen Faktoren zählen:
- Hat der aktuelle Nutzer sich authentifiziert?
- Ist er autorisiert, die Seite selbst, einzelne oder alle enthaltenen Elemente einzusehen?
- Welche Elemente sind in der Seite vorhanden? Wieviele sind es?
- Welches ist der letzte Stand jedes Elements?
- Welche Designvorgaben sind vorhanden, um enthaltene Elemente zu einer Seite zusammen zu setzen?
- Welche davon müssen im vorliegenden Fall eingesetzt werden?
- Gibt es seiten- oder elementbezogene Parameter für die Erstellung der Seite?
Die Verarbeitung von Designvorlagen mit Seitenelementen zu fertigen Seiten kann je nach Rechenleistung und Programmstruktur eines CMS ausreichend Zeit beanspruchen. Der stets separat erfolgende Abruf von zur Seite gehörenden Bilddateien etwa verursacht neue Programmaufruf-Zyklen und verzögert damit den Seitenaufbau weiterhin.
Eine Lösung ...
Als beste Maßnahme gegen übermäßige Verzögerungen dient die Zwischenspeicherung von erstellten Seiten, um bei wiederholten Abrufen dergleichen Seite diese schneller anbieten zu können. Je nach Funktionsweise dieses Zwischenspeichers wird damit jedoch die Nutzbarkeit des Systems beschränkt, da mitunter nach Anpassungsarbeiten die Zwischenspeicher explizit geleert werden müssen, damit alle neueren Änderungen fortan auch für den Nutzer sichtbar sind.
Ein Mittelmaß zwischen gutem Caching (dem Zwischenspeichern) und einem dennoch hohen Maß an Komfort in der Nutzung ist ein Qualitätskriterium für jedes CMS.
Unser Produkt ermöglicht in vielen Fällen eine gezielte Kontrolle über einzelne Elemente im Zwischenspeicher und ermöglicht damit, dass bspw. das Ändern einzelner Seiten oder darin enthaltener Elemente direkt eine Anpassung des Zwischenspeichers zur Fogle hat. Werden jedoch globalere Änderungen - etwa bezogen auf die Struktur einer Site - vorgenommen, so ist es nötig, explizit den Zwischenspeicher komplett zu leeren.
Zu den Fakten
Für die eigene Kontrolle und permanente Messung der Leistungsfähigkeit unseres System enthalten alle ausgegebenen Seiten Angaben zur Dauer, die nötig war, um die Seite entweder aus dem Zwischenspeicher zu laden oder aber komplett neu zu erstellen. Diese Angaben sind bei normaler Betrachtung der Site nicht erkennbar, schaut man jedoch in den Quelltext einer Seite (je nach Browser verschieden möglich), so findet man am Ende der Seitendatei einen Kommentar mit genau dieser Angabe.
Die hier vorliegende Site wird durch toxA.CMS auf einem Linux-basierten Server mit folgenden Eckdaten betrieben:
- Prozessor: AMD Sempron 2200+
- Hauptspeicher: 512 MByte
- Software:
- Apache 2.x
- PHP 5.1 als DSO
- SQLite 3 als Datenbank (optional auch MySQL 5)
- Festplatte: 80 GB PATA UDMA/133
Aus heutiger Sicht (Stand: März 2006) beschreibt dies bezogen auf die Hardware einen bereits recht preiswerten und in die Tage gekommenen Server. Viele große Hosting Anbieter offerieren vergleichbare oder gar bessere Systeme zu Mietgebühren von unter 50 € im Monat .
Die vorliegende Seite nun liefert auf diesem System folgende Leistungsdaten:
- Seite mit einem Text-Element
- Erstellung ohne Zwischenspeicher: ~0,33s
- Lieferung aus dem Zwischenspeicher: ~0,15s
Eine komplexere Seite auf www.toxa.de liefert dagegen diese Eckwerte:
- Seite mit 16 Text-Elementen
- Erstellung ohne Zwischenspeicher: ~0,95s
- Lieferung aus dem Zwischenspeicher: ~0,16s
Alle Werte sind gemittelt und gerundet und können je nach Tageszeit variieren.
Diese Daten weisen darauf hin, dass zwischengespeicherte Seiten im Mittel unabhängig von der Komplexität meist ähnlich schnell zur Verfügung stehen. Die komplette Neuerstellung einer Seite hingegen ist stärker von ihrer Komplexität abhängig.
Nicht berücksichtigt werden in diesen Tests die Zeiten, welche zum Abruf von bspw. zugehörigen Bild-Dateien nötig sind. Darum dauert natürlich der Komplettaufbau einer Seite mit vielen Bildern (Fotos, Design-Elemente, etc.) etwas länger als bei Seiten mit wenigen Illustrationen. Diese Unterschiedlichkeit ist aber bereits bei klassischen Webseiten (ohne CMS) spürbar ...