- Javascript Aggregator für Drupal
- Drupal Javascript Performance
- Drupal Performance - Maximaler Boost!
- Javascript optimieren
- Domains lokal simulieren
- Tools für die Drupal Entwicklung - Firebug
- Drupal Performance II - Bremsklötze
- Agilo kommt voran
- Floatende Blocks - Popup Light
- Tücken einer Multisite - Die Drupal Multisite
Performance von Drupal verbessern
Drupal ist manchmal ein bisschen langsam. Mir wird das immer wieder bewusst, wenn ich an einen von meinen statischen Seiten arbeite. Da macht es einfach pop und dann ist die Seite da. Bei Drupal ist das ein bisschen anders. Wenn eine Seite geladen wird, laufen einige andere Prozesse im Hintergrund ab: Inhalt aus der Datenbank holen, hooks abfragen, Seite zusammenbauen, und dabei die benötigten CSS und Javascript Dateien laden. Hier ist auch bereits ein erster wunder Punkt.
Wenn eine Datei (css und js) geladen wird, dann muss der Browser jedes mal eine entsprechende Anfrage an den Server stellen, worauf der Server dem Browser die angefragte Datei zur Verfügung stellt. Wenn man 10 Javascript Dateien hat, kann das schon zu ein Verzögerungen führen, denn es geht nicht nur um die reine Downloadzeit, sondern eben auch noch um die Zeit für die eigentliche Anfrage.
Für CSS gibt es schon lange einen Aggregator, dieser ist Standardmässig dabei und kann unter "admin/settings/performance" konfiguriert werden (entweder an oder aus). Seit einigen Tagen gibt es auch einen Javascript Aggregator: Dieser fasst alle Javascript Dateien in eine Datei zusammen, wie das bei den CSS Dateien schon lange ging.
Einstieg:
Folgenden Code Schnippsel in der Datei page.tpl.php einfügen:
<?php
if(module_exists('javascript_aggregator')) {
$scripts = javascript_aggregator_cache($scripts);
}
?>Dieser Schnippsel muss VOR dem Einfügen der Scripts kommen, also:
<?php
if(module_exists('javascript_aggregator')) {
$scripts = javascript_aggregator_cache($scripts);
}
?><?php
print $scripts;
?>Jetzt einfach das Modul installieren und sodann erscheinen neue Optionen unter "admin/settings/performance" [Bild 1].
- Aggregate Javascript: Alle .js Dateien werden zu einer Datei zusammengf
- Optimize JavaScript files: Alle /* */ Kommentare werden entfernt.
Falls jemand am Entwickeln ist und Sachen mit Javascript macht, so würde ich empfehlen, diese Optionen zu deaktivieren (sowohl CSS Aggregator als auch Javascript Aggregator), da Fehler viel einfacher zu finden sind. Die Bugs von denen ich in meinem ersten Post bezüglich dem Javascript Aggregator berichtet habe, sind mittlerweile behoben, und es sollte stabil funktionieren.
Von der Performance her, ist es doch merklich spürbar:
- 3.7 Sekunden Ladezeit mit Javascript Aggregator und CSS Aggregator
- 4.3 Sekunden Ladezeit ohne Javascript Aggregator, aber mit CSS Aggregator
- 6.5 Sekunden Ladezeit ohne Javascript Aggregator und CSS Aggregator
Diese beiden Module sind einfache Wege, um die Performance zu verbessern, ohne sich in irgendwelche komplizierte Servergeschichten vertiefen zu müssen.



Wahnsinn! stammt ja auch
Wahnsinn!
stammt ja auch drupal6
"stammt ja auch drupal6" ...
"stammt ja auch drupal6" ... was willst du damit sagen? ;) Zu viel Begeisterung? ;)
schon der Wahnsinn! ich
schon der Wahnsinn!
ich wollte damit sagen, dass genau diesen Feature in Drupal6 auch gibt es das tolle Feature, dass Drupal6 ein Cookie für die Daten eines Gastes in der Kommentarform setzt
sobald views und cck für D6
sobald views und cck für D6 erhältlich sind, werde ich meine erste richtige D6 Seite aufsetzen :)
bei cck wirds wohl relativ
bei cck wirds wohl relativ schnell gehen aber ich wage mich zu erinnern, dass Views anscheinend nur in der Version 2 für drupal6 erhältlich sein wird -> das kann noch dauern
:( aber Drupal ohne Views
:( aber Drupal ohne Views ist nicht wirklich brauchbar. Also, wird es wohl wirklich noch ein paar Monate dauern, bis man Drupal 6 wirklich ernsthaft brauchen kann, aber D5 ist ja auch ganz gut.
hi vielleicht sollte man
hi
vielleicht sollte man darauf hinweisen, das das Einfuegen des Codes in die page.tpl.php fuer D5 notwendig ist, aber nicht fuer D6. oder hab' ich da was ueberlesen?
thx
das ist korrekt. Für D5 war
das ist korrekt. Für D5 war dieses Feature noch nicht im Core vorhanden.