Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Wie wird das Caching gehandhabt?
Forum Sefrengo.org > Allgemeine Foren > Entwicklung
grafzahl
Kurze Frage damit ich später keine Performance-Überraschungen erlebe smile.gif

Wenn das Caching der Seiten aktiviert ist wird die Seite, so wie ich es auf die schnelle mitbekommen habe, ja in der SQL-DB zwischengespeichert, so das später nur noch ein Query abgefeuert werden muss.

Wie verhält sich Sefrengo nun wenn ich z.B. etwas am Layout ändere? Wird dann der gesamte Cache gelöscht und direkt alle Seiten aktualisiert in den Cache gepackt sobald jemand die Seite aufruft oder wird jede Seite für sich neu in den Cache geworfen sobald Sie jemand aufruft?

Wäre schön wenn da jemand kurz was zu sagen könnte.
bjoern
Änderst Du etwas in Layout, Modulen oder Templates und speicherst dann diese Änderung ab, dann wird der Cache für alle Seiten neu generiert, die sich auf das spezielle Layout, Modul oder Template beziehen.
Chregu
Hallo Zusammen

Dazu hätte ich auch noch ein Frage. Und zwar Verwende ich das ContentFlex Modul über das ich Bilder in den Content einfüge.
Habe ich nun ein Bild eingefügt und die Seite angesehen wird das ganze cached. Ändere ich nun den Titel des Bildes wird
der Cache nicht automatisch gelöscht und der Bildtitel bleibt der alte bis ich den Cache von Hand lösche.
Kann ich das Problem irgendwie unterbinden?

Gruss
chregu
gunwalt
ZITAT(Chregu @ Mon. 17. December 2007, 14:47) *
Dazu hätte ich auch noch ein Frage. Und zwar Verwende ich das ContentFlex Modul über das ich Bilder in den Content einfüge.
Habe ich nun ein Bild eingefügt und die Seite angesehen wird das ganze cached. Ändere ich nun den Titel des Bildes wird
der Cache nicht automatisch gelöscht und der Bildtitel bleibt der alte bis ich den Cache von Hand lösche.
Kann ich das Problem irgendwie unterbinden?


Ich hatte das auch schon mal. Das war aber dann eine Browsercachegeschichte, meine ich. Guck dir die Seite mal mit einer Alternative an.
grafzahl
ZITAT(bjoern @ Mon. 17. December 2007, 14:40) *
Änderst Du etwas in Layout, Modulen oder Templates und speicherst dann diese Änderung ab, dann wird der Cache für alle Seiten neu generiert, die sich auf das spezielle Layout, Modul oder Template beziehen.


Aber das ist doch ein ziemliches Performanceloch? Ich meine wenn man nun wirklich einen ganzen Batzen Seiten hat (angeblich soll Sefrengo dafür ja nicht gedacht sein, was ich aber nicht verstehe), so würde es ja bei jeder Änderung erstmal zu einem dicken Performance-Absacker kommen oder irre ich da?
gunwalt
Aber wie häufig änderst du Layout, Modulen oder Templates? Eher selten würde ich meinen. Am Anfang eines Projektes, dann zum Nachjustieren und dann ... ?
Chregu
@gunwalt

nein leider nicht. Leere ich die Code und Cachetabelle funktioniert alles wieder 1a...
grafzahl
ZITAT(gunwalt @ Mon. 17. December 2007, 16:32) *
Aber wie häufig änderst du Layout, Modulen oder Templates? Eher selten würde ich meinen. Am Anfang eines Projektes, dann zum Nachjustieren und dann ... ?


Sicherlich nicht täglich, aber wenn du z.B. an die 1000 Seiten hast (ok, betrifft hier wohl die meisten nicht) und du musst wirklich mal was am Layout ändern, oder an den Modulen, oder an den Templates, dann müssten jedes mal diese 1000 Seiten neu gerendert werden, auch wenn 500 davon vielleicht nur alle 3 Wochen einmal aufgerufen werden.

Wäre es da nicht sinnvoller beim ersten Seitenaufruf nach der Änderung die Seite zu parsen und das Ergebnis in den Cache zu stellen, anstatt direkt ALLE Seiten zu parsen?

Sicherlich, bei leistungsstarken Servern und/oder kleineren Webseiten fällt das nicht auf, und natürlich macht man im produktiven Betrieb auch nicht täglich Änderungen, aber ich kenne es von Contenido das eine wirklich große Seite da auch mal 1-2 Minuten allein damit zutun hat die Seiten neu zu cachen.
saschapi
Ich mag mich irren, aber soweit ich das bisher vermutet habe, werden Seiten nicht komplett gecached sondern immer nur die die gerade aufgerufen werden.

In deinem Szenario wird also (nach meinem Glauben) nach der Layoutänderung der Cache aller Seiten gelöscht, die dieses Layout nutzen und dann wenn eine dieser Seiten aufgerufen wird FÜR DIESE der Cache wieder befüllt.
Kann aber auch komplett falsch sein was ich da sag, aber meine Cache Tabelle ist auch bei größeren Seiten relativ leer, daher meine Vermutung wink.gif
grafzahl
ZITAT(saschapi @ Mon. 17. December 2007, 20:38) *
Ich mag mich irren, aber soweit ich das bisher vermutet habe, werden Seiten nicht komplett gecached sondern immer nur die die gerade aufgerufen werden.

In deinem Szenario wird also (nach meinem Glauben) nach der Layoutänderung der Cache aller Seiten gelöscht, die dieses Layout nutzen und dann wenn eine dieser Seiten aufgerufen wird FÜR DIESE der Cache wieder befüllt.
Kann aber auch komplett falsch sein was ich da sag, aber meine Cache Tabelle ist auch bei größeren Seiten relativ leer, daher meine Vermutung wink.gif


ZITAT(bjoern @ Mon. 17. December 2007, 14:40) *
Änderst Du etwas in Layout, Modulen oder Templates und speicherst dann diese Änderung ab, dann wird der Cache für alle Seiten neu generiert, die sich auf das spezielle Layout, Modul oder Template beziehen.


So wie es Bjoern schreibt wird eben der Cache für ALLE Seiten neu angelegt, und das in einem Durchgang.... oder habe ich da etwas falsch verstanden? Wenn ja, sorry für die Aufregung smile.gif
gunwalt
ZITAT(grafzahl @ Tue. 18. December 2007, 08:18) *
So wie es Bjoern schreibt wird eben der Cache für ALLE Seiten neu angelegt, und das in einem Durchgang.... oder habe ich da etwas falsch verstanden? Wenn ja, sorry für die Aufregung smile.gif


Ich meine nicht zeitgleich. Probiere es mal aus. Lösch mal den Cache und verfolge den Vorgang mit PHPmyadmin. Die Cachetabelle wird mit der Zeit wieder voll, heisst, das der Cache jeder Seite beim Aufrufen erzeugt wird, in dem Sinne -> wenn Cache = 0, dann neuer Cache. Im übrigen ist in der Cachetabelle auch nur das "Rahmengerüst" der Seite, z.B: Inhalte von ContenFlex werden dann noch in einem zweiten Vorgang abgefragt.
saschapi
ZITAT(grafzahl @ Tue. 18. December 2007, 08:18) *
So wie es Bjoern schreibt wird eben der Cache für ALLE Seiten neu angelegt, und das in einem Durchgang.... oder habe ich da etwas falsch verstanden? Wenn ja, sorry für die Aufregung smile.gif


Ich hätte es auch so verstanden, wie du, aber ich denke Björn hat sich da etwas ungeschickt ausgedrückt wink.gif Deshalb war ich in meiner Cache-Deskription ja auch so vorsichtig.
Björn meinte dass dann vermutlich als Kausalzusammenhang und nicht als temporalen.

Da ich Gunwalts Beobachtung teile würde der von mir beschriebene Ablauf IMHO am wahrscheinlichsten sein... wink.gif
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.