Da ich selbst nun auch vom Nofollow Case by Case Plugin auf meine manuelle Dofollow Lösung über die functions.php umgestiegen bin, habe ich mich ebenfalls entschlossen einen Cache für meinen Kommentarbereich zu implementieren. Durch meine manuelle Dofollow Lösung wird ja pro Kommentar eine Datenbankabfrage generiert und gerade in Beiträgen mit vielen Kommentaren kann es diesbezüglich dann doch zu Performance Einbußen kommen.
100 Kommentare = 100 Datenbank Abfragen, und das bei jedem einzelnen Seitenaufruf, da wird mir persönlich gleich ganz schlecht.
Also habe ich mir kurzerhand mein PHP Cache Script zur Brust genommen und das Ganze anhand dem Alter der Artikel für meinen Kommentarbereich wie folgt konfiguriert:
Direkt über dem Kommentar Formular findet Ihr nun, sobald ein Cache File existiert, 3 Info Zeilen, die das Datum und die Uhrzeit des aktuellen Caches ausgeben, das Datum und die Uhrzeit des nächsten Cache Updates anzeigen und Euch mitteilen, dass neue Kommentare erst nach dem nächsten Cache Update erscheinen.
Nun wird der Cache des Kommentarbereichs in dieser Form erst mal Probe laufen und wir müssen sehen, ob die bisher definierten Zeiten ausreichend sind. Konfigurationsvorschläge und diesbezügliche Ideen von Euch nehme ich natürlich gerne entgegen.
Jetzt bräuchte ich nur noch eine vernünftige Möglichkeit die Gravatare ordentlich zu cachen, aber irgendwie scheint es diesbezüglich nichts brauchbares zu geben. Ich habe nur 1 neueres Plugin gefunden, aber bei diesem wird explizit darauf hingewiesen, dass es für größere Blogs nicht geeignet ist, da die ersten Seitenaufrufe ewig dauern könnten. Deshalb werden auch nur noch 3 Gravatare pro Seitenaufruf in den Cache geschrieben. Damit wäre ich ja bei meinen über 7000 Kommentaren die nächsten 100 Jahre erst mal damit beschäftigt sein, den Gravatar Cache zu schreiben…
[...] Wochenende hatte ich ja meinen Kommentarbereich in einen Cache gepackt, der sich im Laufe der Woche als nicht wirklich nutzerfreundlich herausstellte, da [...]
[...] muss nur erfinderisch sein. Ob Ihr nun Widgets cachen wollt, “related Posts” oder den ganzen Kommentarbereich – hier seid Ihr [...]
[...] Cache des Kommentarbereichs [...]
Ach was, 100 Jahre würde es auch nicht dauern (es sei denn, keiner würde den entsprechenden Beitrag anschauen)… und viele Gravatare sind ja auch “doppelt und dreifach”, oder hast du 7000 verschiedene Kommentatoren?
und der Hinweis ist noch vom ersten Release, das die Beschränkung auf max. 3 Gravatare noch nicht drinne hatte… sollte nun eigentlich problemlos funktionieren… hatte ich vergessen rauszunehmen…
Ich würde ja gerne eine “allgemeingültige” Variante zum aufbauen des Caches im Adminbereich anbieten, allerdings gibt es da mehrere Probleme… ein wichtiger Knackpunkt ist, dass die Größe der verwendeten Gravatare nicht irgendwo allgemein definiert ist, sondern nur bei den entsprechenden Aufrufen selbst übergeben wird (und es könnten auch mehrere Größen in Verwendung sein, oder durch einen Wechsel des Themes könnte wieder alles anders sein)… aber auch dafür werde ich noch ne Lösung finden…
Nicht schlecht muss ich sagen. *Hutab* Aber wir kennen es ja nicht anders von Dir Tanja.
Nicht schlecht was du da gebastelt hast. Mit dem einen Plugin meinst du wohl das von Olli. Aber er hat dir da ja schon geschrieben und kann dir bestimmt auch mit Rat und Tat unterstüzen.
Aber ich verstehe nicht wieso da steht:
Cache des Kommentarbereichs vom 06.02.2010 22:48 Uhr
Neue Kommentare erscheinen erst nach dem nächsten Cache Update!
Nächstes Cache Update: 06.02.2010 22:58 Uhr
Irgendwie macht das für mich keinen Sinn? Dann ist es ja doch in Echtzeit?
Viele Grüße
Thomas
@Olli: Ich hab mir jetzt schnell was selbst gebaut um die Gravatare zu cachen. Mal sehen wie das funktioniert.
Könnte natürlich sein, dass es mir die Seitenaufrufe jetzt erst mal für ein paar Tage performancetechnisch total in den Keller schießt, aber es läuft immerhin schon mal ohne Plugin (bin ja ein Plugin Minimalist).
Und irgendwann müsste der Cache ja mal alle meine Kommentatoren durch haben…
@Markus: Wenn wenig Kommentare da sind bringt der Cache nicht wirklich viel, aber bei den dicken Artikeln hat es definitiv was
@Thomas: Das steht da, weil ein ganz neuer Artikel (jünger als 1 Tag) alle 10 Minuten neu gecacht wird, danach gehts aufwärts (jünger als 3 Tage) auf alle 30 Minuten, ab 3 Tage auf 3 Stunden etc. Ich wußte nicht so ganz wie ich die Zeiten setzen soll, muss mal beobachten in welchen Zeitabständen Kommentare in neuen Artikeln eintrudeln und das dann entsprechend hochsetzen.
Nehme auch gerne Ideen entgegen
Ah jetzt ist das Kommentarfeld wieder da, hab Dein Parse error gesehen ätsch
Spaß beiseite, vielleicht würde es auch Sinn machen bei neuen Artikeln am ersten Tag gar keinen Cache einzubauen, da doch oft mal Disskussionen entstehen am Anfang. Aber ich denke das kannst Du besser beurteilen wie es da aussieht bei Dir hier.
@Markus: Genau das habe ich gerade versucht (deswegen der Parse error) und es hat nicht so ganz auf Anhieb geklappt. Aber jetzt scheint es zu gehen
@all: Jetzt habe ich es noch etwas verfeinert: Der Cache des Kommentarbereichs greift erst, wenn der Artikel älter als 1 Tag ist und insgesamt mehr als 10 Kommentare/Trackbacks dazu bestehen
10 zusätzliche Datenbankabfragen kann man auch ohne Cache verschmerzen denke ich…
Jetzt würde es noch gelten die Schwelle rauszufinden, ab wann die Seite mit dem einbinden und updaten des Cachefiles schneller ist als ohne Cache. Was denkt ihr?
Da haben wir uns mal wieder gut überschnitten^^ Ich denke pauschal kann man es nicht sagen ab wann es schneller ist. Ich denke auf jedenfall solltest Du das in Zeiten wo viel los ist messen bzw. dahingehend anpassen.
@Markus: Kucken wir einfach mal was dabei so rum kommt. Ich denke mit der Zahl 10 fahre ich schon ganz gut
Das Plugin ist ja mehr oder minder aus der gleichen Überlegung heraus entstanden und noch in einem frühen Entwicklungsstadium… Also falls du (auch wenn du das Plugin nicht benutzst) irgendwelche Verbesserungsvorschläge hast oder gar sinnvolle Codeschnipsel immer her damit…
@Olli: Ich hatte mir Dein Plugin heute morgen kurz angekuckt, bin ehrlich gesagt nicht durchgestiegen (meine PHP Kenntnisse reichen nicht allzuweit) und habe dann kurzerhand einfach nach dem logischen Prinzip selbst was zusammengebastelt, da ich immer eine manuelle Lösung vor die Benutzung von Plugins stelle.
Wie sinnvoll oder sinnlos das ist, was ich zusammengebastelt habe, lasse ich am besten Dich entscheiden. Ich hab Dir das Script gerade per eMail geschickt. Kannst mir dann ja mailen, ob und was für einen Mist ich da wieder zusammengepfriemelt habe
Ok jetzt habe ich es verstanden
Jetzt hast du aber die Anzeige komplett raus genommen, oder sehe ich es jetzt nur nicht.
@Thomas: Diese Anzeige sowie der Cache laufen jetzt erst ab Artikel älter als einen Tag (das ist dieser hier noch nicht) + mehr als 10 Kommentare. Deswegen hier z.B. keine Anzeige = kein Cache
Was mir gerade eigefallen ist… Das ist mir persönlich schon auf einigen Seiten so gegangen, man erhält die Mail Benachrichtigung das ein neues Kommentar da ist, geht dann auf die Seite und das neue Kommentar ist wegen Caches noch gar nicht zu sehen, ich denke mal hier wird es genauso sein, oder? Vielleicht sollte man das auch irgendwie bedenken und mit einbeziehen.
@Markus: Deswegen steht ja der Zusatz unter den Kommentaren (oberhalb der Kommentar Eingabemaske) “Cache…. nächstes Update xx”
Deine Artikel helfen mir wirklich immer weiter. Das , dass laden von Kommentaren jedes mal ein Datenbankzugriff bedeutet wusste ich noch nicht. Wenn mein Blog weiter wächst werd ich mir darüber sicher auch Gedanken machen müssen. Vielen Dank fürs teilen der Ideen
lg Jakob
@Jakob: Die Kommentare machen nur Datenbankabfragen wegen meiner manuellen Dofollow Lösung. Sonst machen sie es nicht