Erfahrungen mit dem Cache Post System

Cachet rechenintensive Vorgänge bei der Darstellung von Beiträgen. Dadurch wird die Performance des phpBB stabilisiert und teilweise sogar erheblich verbessert.

Moderator: Supporter

Beitragvon Fufu » 15. Feb 2007 09:55

Hallo,

die Idee ist Prima und ich habe lange auf so einen Mod gewartet.
Nur muss ich leider, nach soviel positiver Resonanz, das System in Frage stellen.

Ich habe mir meine gemoddete (nach dem Einbau des CPS) viewtopic.php mal angeschaut, dabei ist mir folgendes aufgefallen:

In dem Query für die postdata werden post_text und alle anderen Daten jedes Beitrages eigentlich immer aus der Datenbank gelesen, egal ob Beiträge gecachet wurden oder noch gecacht werden müssen.

Danach wird geprüft ob die einzelnen Beitrags-Caches vorhanden sind. Wenn nicht werden Beiträge gecachet. Das kostet ein Paar Queries. Wenn ja wird der Cache gelesen und in $message gespeichert.

Wird das Topic gecachet habe ich 66 Queries. Danach beim aktualisieren nur noch 50 bis 54. Logisch weil jetzt nichts mehr in die Cache-Tabelle geschrieben wird.

Ohne Cache-Mod habe ich beim gleichen Topic 49 bis 53 Queries. Also einen weniger, weil der Query für das CPS fehlt.

Ich stelle also das CPS in Frage. Warum werden immer noch beim Cache auslesen die Tabellen posts und posts_text gelesen? Eigentlich sollte das CPS wenigstens den Query für den post_text einsparen. Das tut es aber nicht.

Ist das nur bei mir so?
Wenn nicht sollte das CPS nocheinmal überdacht werden.

Gruß
Mark
Fufu
 
Beiträge: 16
Registriert: 9. Feb 2007 12:46

Beitragvon oxpus » 15. Feb 2007 10:53

Öhm, die Texte werden immer mit abgefragt, da die gesamten Post-Infos in einer Abfrage aus der Datenbank gezogen werden.
Und auch nicht jeder Beitrag wird dazu gecacht, z. B. wenn er zu klein ist oder ohne BBCodes/HTML gespeichert wird.
Das CPS soll auch genau nur das eben abnehmen, damit ein Beitrag fertig formatiert dargestellt wird.
Das bringt bereits schon deutlich Leistung, da das Formatieren der BBCodes eine sehr zeitaufwändige Sache ist.
Bei mir werden mit den BBCodes z. B. auch Links im Post erstellt (Schlüsselwörter), die ohne CPS zusätzliche Queries erzeugen.
Mit CPS eben nicht mehr.

Und ein Post-Cache-System ist es nicht im eigentlichen Sinne, denn dann müsste man ja erst prüfen, ob der Text als Cache bereits vorliegt (unverändert seit dem cachen) und dann entscheiden, ob abgefragt oder ausgelesen werden soll.
Diesen Schritt kann man sicherlich nochmal überlegen, bringt aber nicht wirklich viel, da, wie bereits eingangs erwähnt, der Text mit allen anderen Post- und Posterinformationen mit einer Abfrage aus der Datenbank geholt wird.
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon Fufu » 15. Feb 2007 11:03

Achso, ich hatte gedacht, das CPS erspart die Queries bei den Tabellen posts und post_text ein.

Hätte nicht gedacht, dass das Formatieren soviel Zeit kostet und das CPS dieses abnimmt. Interessant.

Ok, dann nehme ich das zurück und werde mir alles nochmal richtig anschauen.

Um die Queries zu Cachen, gibt es ja auch noch den den Query-Cache oder Generation Queries (oder wie der heist).

oxpus hat geschrieben:Und ein Post-Cache-System ist es nicht im eigentlichen Sinne, denn dann müsste man ja erst prüfen, ob der Text als Cache bereits vorliegt (unverändert seit dem cachen) und dann entscheiden, ob abgefragt oder ausgelesen werden soll.
Diesen Schritt kann man sicherlich nochmal überlegen, bringt aber nicht wirklich viel, da, wie bereits eingangs erwähnt, der Text mit allen anderen Post- und Posterinformationen mit einer Abfrage aus der Datenbank geholt wird.

Ich habe das bei mir so gemacht u.A. mit den News-Meldungen im Portal. Da werden alle Variablen aus dem Query als php-Datei gecacht und später includet. Falls Cache vorhanden wird die Datenbankabfrage übersprungen. Bei Änderungen wird der Cache erneuert.
Fufu
 
Beiträge: 16
Registriert: 9. Feb 2007 12:46

Beitragvon AmigaLink » 15. Feb 2007 11:21

Wer Lesen kann ist klar im Vorteil! ;)
AmigaLink hat geschrieben:Das Cache Posts System ist ein neuartiger Cache der den PHP-Interpreter entlastet und somit die Performance des phpBB's erhöht bzw. stabilisiert.
Im Gegensatz zu den sonst üblichen Caches senkt er nicht die Datenbankzugriffe (zumindest nicht primär), sondern verhindert rechenintensive Vorgänge bei der Darstellung von Beiträgen.
:roll:

Die einzigen Queries die das CPS verursacht, sind die Queries beim erstellen des Caches!
Beim öffnen eines bereits gecachten Beitrags kommt kein Querie dazu. Es könnten höchsten weniger werden. Was aber von den vorhandenen und/oder genutzten BBCodes abhängt.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Fufu » 15. Feb 2007 11:29

Da stehts ja ich Depp. :?
Nichts für ungut.
Dann werd ichs nochmal Testen.

Die einzigen Queries die das CPS verursacht, sind die Queries beim erstellen des Caches!
Beim öffnen eines bereits gecachten Beitrags kommt kein Querie dazu. Es könnten höchsten weniger werden. Was aber von den vorhandenen und/oder genutzten BBCodes abhängt.


Vermutlich ist der Query entstanden, weil ich mein Forum mit einem gespiegeltem Testforum verglichen habe.

Zugefügt nach 15 Minute(n):

Der Seitenaufbau (viewtopic.php) im Testforum ist etwa doppelt so schnell als beim "Echten" Forum.

Bei einem langem Beitrag sind es anstatt 1,5 mit CPS 0,8 sek bei gleicher Anzahl Queries.
Die Ergebnisse müssten plausibel sein, da viewforum.php etwa gleich schnell ist.

Wenn das bei KM auch so ist bin ich sehr zufrieden. :D

Zugefügt nach weiteren 23 Stunde(n) 5 Minute(n):

Morgen,

Ich habe das CPS nun auf meiner Seite installiert.
Erkennbar ist , dass der Server nun viel weniger arbeitet als vorher.
Die Generationtime ist für viewtopic im Durchschnitt um ein paar 10tel Sekunden weniger geworden.
Großes Lob an die Entwickler des Mods :)

Was allerdings einen merklich größeren Geschwindigkeitsschub gebracht hat war, als ich Gestern den eXtreme-Styles-Mod installiert habe.

Von mir noch ein Tip:
Integriert mal den Turck-MMcache anstatt Zend-Optimizer.
Ist bei mir viel schneller als ZO und entlastet nochmal den php-interpreter.

Gruß
Fufu
 
Beiträge: 16
Registriert: 9. Feb 2007 12:46

Beitragvon AmigaLink » 16. Feb 2007 11:45

Erkennbar ist , dass der Server nun viel weniger arbeitet als vorher.
Das ist der Sinn der Sache. :D

Großes Lob an die Entwickler des Mods :)
Danke :)

Integriert mal den Turck-MMcache anstatt Zend-Optimizer.
Ist bei mir viel schneller ...
Das ist Bekannt. :mrgreen:
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon J. Haberstroh » 26. Feb 2007 14:18

Meine Erfahrungen: innerhalb weniger Tage wurden 125.000 Beiträge gecached. Der Speicherplatz dafür betrug lt. ACP-Statistik knapp 50 MB.

Nun ja, der Ordner /cache/posts lässt sich leider nicht mehr leeren oder löschen, nicht vom ACP aus (internal Server error) und auch nicht per FTP - das Übertragen der Dateiliste führt zu einem Time-Out bei Web-FTP und zwei anderen FTP-Programmen. Ein Überschreiben mit einem leeren Ordner ist natürlich auch nicht möglich...
J. Haberstroh
 
Beiträge: 5
Registriert: 21. Feb 2007 14:36

Beitragvon AmigaLink » 26. Feb 2007 15:10

Eine so hohe Anzahl an Beiträgen führt im ACP zum Timeout. Das hab ich mir bereits gedacht. :?
Dürfte aber ansonsten, für den Betrieb des Boards, kein Problem darstellen.

Wenn du den Cache wirklich Löschen möchtest, dann lass dir via FTP nicht die Dateiliste des Cacheordners anzeigen, sondern lösch den Ordner direkt. Das dauert zwar auch ein Weilchen. Sollte aber Funktionieren. :)
Danach nicht vergessen einen neuen Ordner zu erstellen und im ACP ein resync auszuführen.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon beedy » 14. Apr 2007 11:42

Meine ersten Erfahrungen mit dem Mod:

Im Schnitt bringt der Mod bei mir eine Beschleunigung von 1-2 Sekunden, je nachdem, wie groß die Beiträge sind.

Nachteilig ist im Moment bei mir ebenfalls, das das cache so groß ist, das ich noch nicht mal mehr den Adminbereich aufrufen kann.
Ich hab den Arbeitsspeicher mittlerweile mal auf 24 MB hohgeschraubt, aber es reicht immer noch nicht aus, den Adminbereich anzuzeigen.


Bleibt da wirklich nur die Möglichkeit, den Cacheordner zu löschen?


Gruß!

beedy
Benutzeravatar
beedy
User
 
Beiträge: 43
Registriert: 1. Mai 2006 19:37
Wohnort: Berlin

Beitragvon AmigaLink » 14. Apr 2007 20:37

Schalt das direkte Anzeigen der Statistik ab, dann kannst du den Adminbereich öffnen. Denn die Statistik ist es, die (in erster linie) zum Timeout führt. :?
Ich weiss auch nicht ob ich das jemals geändert bekomme. :roll:

Die anderen Funktionen im ACP können zwar auch zum Timeout führen. Dafür hab ich aber eine Lösung in der Schublade, die mit dem V2 kommen wird. :P
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

VorherigeNächste

Zurück zu Cache Post System



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron