- Drupal Performance - Maximaler Boost!
- Drupal Performance III - APC, Memcache und Cacherouter
- Drupal Performance II - Bremsklötze
- Drupal Module - Review und Tutorial - Admin Menu
- Drupals Caching System
- Seite von Benutzer wird nicht angezeigt.
- Drupal optimieren
- Backup von Drupal erstellen
- Performance von Drupal verbessern
- Drupal Javascript Performance
Drupal Performance I
Hier werden in den nächsten Tagen Wochen Beiträge zu Drupal Performance und Optimierung kommen... fangen wir doch mal mit den Basics an.
Die Modularität hat ihren Preis. Wenn man ein paar Module im Einsatz hat, dann wird eine Drupal Installation schnell einmal langsam. Es werden unmengen von SQL Queries abgesetzt, um die notwendigen Seite zusammenzustellen (einige hundert bis einige tausend). Das schlägt sich natürlich in der Geschwindigkeit nieder. Gut ist es sicher, dies zu vermeiden, was aber nicht wirklich immer möglich ist, bzw. mit Funktionseinbussen verbunden ist, denn über hook_nodeapi hat jedes Modul die Möglichkeit, beim Nodeload den Node zu modifizieren. Dadurch kann doch eine beachtliche Anzahl an Abfragen entstehen. Einige Module setzen dafür einen Cache ein, andere wiederum nicht. Das heisst: Ein node_load ist nicht ein grosser Query mit einigen Joins, sondern besteht aus vielen kleinen Queries. Das heisst, wenn jetzt auf einer Seite einige Nodes geladen werden müssen (Teaser, Übersichtsseiten, Nodeblöcke usw), dann kann sich das schnell kumulieren.
Lässt sich das ändern? Es lässt sich sicher vermeiden, indem die Module sorgfältig ausgewählt werden, aber die Grundproblematik bleibt bestehen. Die Flexibilität, welche dadurch entsteht ist dafür fantastisch.
Auswege. Liegen eigentlich beim Caching. Hier gibt es diverse Strategien, aber erst einmal gilt es, die Drupal Board Mittel zu benützen, welche für kleine Seiten durchaus ausreichend sind:
- CSS Aggregation ist ein Muss
- JS Aggregation eigentlich auch, aber führt jeweils bei deutschsprachigen Seiten zu Problemen. Also ich habe da immer Probleme mit einem File, welches nicht gefunden werden kann. Dafür gibt es ein nettes kleines Modul und schon klappts wieder.
- Drupal Cache. Der ist eigentlich super genial, aber funktioniert nur für den anonymen Besucher. In manchen Fällen mag das ausreichend sein, aber manchmal auch nicht.
- Blockcache ist mein Held.
Wie weiter, wenn die Seite wächst und wächst. Es gibt diverse Module, mit welchen ich in den letzten Tagen/Wochen Erfahrungen gesammelt habe. Diese beschränken sich momentan auf die folgenden drei Module:
- Boost
- Cacherouter
- APC
Boost
Super einfach zum einsetzen. Es lässt sich auch sehr gut auf einem shared hoster einsetzen. Mein Blog hier wird von Boost unterstützt. Dabei wird die Datenbank für den anonymen Besucher entlastet, indem von der Seite eine statische Seite angelegt wird. Ein Besucher tangiert somit Drupal gar nicht, sondern wird direkt auf die statische Seite geleitet. Dies kann natürlich zu verfälschung von Statistiken führen.
Cacherouter
Ist eigentlich lediglich ein Abstraktionslayer nicht ein eigentlich Cache. Der Cacherouter kann sehr gut zusammen mit Authcache eingesetzt werden. Mit dem Cacherouter kann man jetzt bestimmen, wo sich der Cache befinden soll. Z.B. Memcache, APC, File, Datenbank usw.
Im Weiteren habe ich mir auch noch Authcache angeschaut, kam jedoch bisher noch nicht zum produktiven Einsatz. Authcache macht eigentlich etwas ähnliches wie Boost, jedoch für den Eingeloggten User. Die Seite wird als HTML gespeichert und in die DB abgelegt. Beim darauffolgenden Seitenaufruf kann der HTML fixfertig gerendert aus der DB genommen werden, zusätzlich wird die Möglichkeit geboten, Userzentrierte Blöcke mit Ajax entsprechend anzupassen.
Boost und Authcache lassen sich gut auch zusammen nützen, da man Authcache mitteilen kann, welche Rollen den Cache verwenden sollen.
Das sind relativ einfache Massnahmen. Boost läuft eigentlich auf jedem Hoster. Komisch -> bei uns haben wir noch Probleme mit dem Cache löschen?! Keine Ahnung, was da schief geht.



Hei Rapsli Tönt nach vielen
Hei Rapsli
Tönt nach vielen neuen Erfahrungen die du in den letzten Tagen/Wochen gemacht hast ;-)
Jedenfalls vielen Dank für die Tipps. Sei es Boost oder auch das Block Cache, welches ich auch noch ausprobieren werde.
Bis dann und Gruss
Michi
www.redpanda.ch
und das, was hier steht ist
und das, was hier steht ist noch erst der Anfang... nächste Woche geht es dann erst richtig los.
*daumendrück*
*daumendrück*