Jasmin-Servlet Performance-Optimierungen
Wir arbeiten zur Zeit an der Integration einer neuen Jasmin-Servlet Version. Die damit verbundenen Neuerungen zielen auf eine massive Verbesserung der Website-Performance ab. Als Grundlage dienen die Yahoo! Performance Rules, welche ausführlich in einem Buch von Steve Souders erläutert werden.
Folgende neuen Features wurden dabei umgesetzt:
- Gzippen der Ressourcen
- Aufteilung auf zwei Requests pro Ressource, wobei ein Request die Ressourcen ausliefert, die für alle Seiten einheitlich konfiguriert sind und ein zweiter Request die variablen Ressorcen liefert, welche von Seite zu Seite unterschiedlich sind
- Verschieben der JavaScripte aus dem Head an das Ende des Dokuments
- Konfiguration von Pre- und Suffix-Modulen
Anhand erster Tests mit einem kleineren Projekt ist absehbar, dass die Performance durch diese Art von Maßnahmen tatsächlich deutlich verbessert werden kann. Anhand einer typischen Webseite im 1&1 DSL-Bestellprozess (DslModemsBox) kann man folgende Berechnungen anstellen.
Alte Jasmin-Technologie
Insgesamt: 30 Komponenten / 545.2 Kb
Neue Jasmin-Technologie
Insgesamt: 31 Komponenten / 267.8 Kb
Verbesserungen
Anhand dieser Zahlen sind folgende Verbesserungen zu erkennen.
- Die Größe der gesamten Seite verringert sich um die Hälfte
- Durch einen zweiten Request kann nahezu das gesamte CSS nach einem initialen Laden aus dem Cache geliefert werden (vorher u.U gar nicht)
- Durch einen zweiten Request können 2/3 des gesamten JavaScript nach einem initialen Laden aus dem Cache geliefert werden (vorher u.U. gar nicht)
- Das Laden des JavaScript wird nicht mehr das progressive Rendering
blockieren - Der Anteil der optimierten Ressourcen an der Gesamtgröße der Seite betrug
vor der Optimierung 63% - danach nur noch 26%
Warum solche Maßnahmen wichtig sind, kann man unter anderem in dem Artikel The Psychology of Web Performance und in dieser Studie nachlesen.
Bewerbung um Teilnahme am Contributions Pilot
Ich habe soeben die Bewerbung um die Teilnahme meiner Firefox-Extension SenSEO am Contributions Pilot-Projekt abgeschickt. Dieses Projekt wurde von Mozilla initiiert, um Extension-Entwicklern zu einer Aufwandsvergütung in Form freiwilliger Spenden durch die Nutzer der Extension zu verhelfen. Für die Pilot-Phase soll durch eine entsprechende Auswahl ein möglichst großer Querschnitt von Extensions abgedeckt werden, um ein repräsentatives Bild vom Erfolg eines solchen Systems zu bekommen. Für SenSEO habe ich eine freiwillige Spende von 2,99$ angesetzt. Weiterhin habe ich darauf hingewiesen, daß die Nutzer von SenSEO beim Klick auf ein bestimmtes Kriterium zu weiterführenden Informationen weitergeleitet werden. An dieser Stelle auf eine Spende mit der Möglichkeit einer Verlinkung aufmerksam zu machen, wäre für mich ideal.
Even Faster Web Sites
Der Nachfolger(?) von High Performance Websites wird bei Amazon US zur Vorbestellung angeboten.
In dem Zusammenhang kann ich gleich noch meine Begeisterung zur neuen Beta-Version 2.0 von YSlow kundtun. Es ist jetzt möglich, eigene Kriterien für eine Performance-Prüfung zu definieren oder die Webseite auf eine erweiterte Liste von Standard-Kriterien hin zu überprüfen. Außerdem ist das Interface intelligent neu konzipiert worden und es wurden verschiedene externe Tools (darunter Smush.it und JSLint) integriert. Nicht zuletzt wird in der neuen Version eine hilfreiche Druckansicht angeboten (wäre vielleicht auch ein nettes Feature für SenSEO).
Archive
- Oktober 2011 (1)
- Oktober 2010 (2)
- September 2010 (4)
- August 2010 (3)
- Juli 2010 (2)
- Juni 2010 (3)
- Mai 2010 (7)
- April 2010 (4)
- März 2010 (10)
- Februar 2010 (7)
- Januar 2010 (4)
- Dezember 2009 (5)
- November 2009 (3)
- Oktober 2009 (8)
- September 2009 (2)
- August 2009 (9)
- Juli 2009 (7)
- Das Neueste ...
- Älteres ...