Ein Vollseitencache ist einfach durchzuführen und erhöht die Leistung eines CMS ernorm.
In der Regel werden die Seiten so aufgerufen index.php?seite=name oder index.php?seite=12 (also über ID).
Wenn man es im Backend regelt, das man Seiten nach Bedarf so markern kann, das sie am Caching teilnehmen und dafür sorgt das bei einer Inhaltsänderung der Cachepool gelöscht wird ist das Caching selbst im Frontend mit wenigen Kodezeilen zu machen.
Man checkt da zunächst ob die betreffende Seite im Cache liegt, wenn ja wir sie zur Anzeige gebracht.
Wenn nicht dann läuft alle normal durch bis zu dem Punkt wo der Inhalt einer noch nicht gecachten aber zum Cache vorgesehenen Seite fertig vorliegt.
Die Seite wird ausgegeben, also noch normal, aber der abgefangene Inhalt wird im Cache abgelegt, wenn im Backend der Schalter so gesetzt ist.
Bei einem nächsten Aufruf einer Seite die im Cache liegen soll ist sie dann vorhanden und schon arbeitet der Cache einwandfrei.
Die Zeitersparnis begründet sich darin, das der gesamte Aufwand um eine Seite normal darzustellen komplett entfällt.
Es werden noch nicht einmal die benötigten Komponenten geladen, die zur Normalanzeige benötigt würden.
Es können je nach Belastung des Webservers Generierungszeiten bis unter 0,0007 Sekunden und das auf shared Webservern erreicht werden.
Praktisch handelt es sich bei einer gecachten Seite um eine statische Seite.
Durch Abfrage der Anzahl der _POST Werte kann man die Sache so steuern, das wenn die Anzahl der _POST Inhalte nicht 0 ist, weil z.B. ein Formular verwendet wurde, der Zugriff auf eine Cacheseite unterbunden wird, so das man tatsächlich mit einer dynamischen Seite arbeitet.
Die Auswertung der Anzahl der _POST Inhalte muss in dem Fall aber auch vor dem Schreiben einer Seite erfolgen, ansonsten hätte man jedes mal einen unnötigen Schreibvorgang.
Zusätzlich sollte man auch checken ob es die Cachedatei bereits gibt, denn ein anderer Besucher kann den Schreibvorgang bereits ausgelöst haben.
Die resultierende Generierungszeit ist stark abhängig von der aktuellen Belastung eines Webservers.
Gerade auf shared Webservern liegt die Komplettbelastung nicht unbedingt in eigener Verantwortung.
Wer sich bei PowerCMS den Quelltext der Startseite ansieht, kann unten die aktuelle Generierungszeit ansehen.
PowerCMS wird auf einem shared Webservern mit 100 Domains gehostet.
Die Generierungszeit kann da in dem Bereich von unter 0,0007 bis über 0,05 Sekunden schwanken.
Keine Kommentare:
Kommentar veröffentlichen