Mittwoch, 27. Mai 2009

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

Alte Jasmin-Technologie

Neue Jasmin-Technologie
Insgesamt: 31 Komponenten / 267.8 Kb

Neue Jasmin-Technologie

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.

Samstag, 9. Mai 2009

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.

Freitag, 1. Mai 2009

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).

Blog abonnieren

RSS 2.0 Feed

Suche

Kalender

Zurück Mai '09 Vorwärts
Mo Di Mi Do Fr Sa So
        2 3
4 5 6 7 8 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 28 29 30 31

Verwaltung des Blogs

Blogroll

Projects/Web

vCard

  • Nico Steiner
  • www.nicosteiner.de
  • Karlsruhe/Germany
  • Senior Frontend-Developer at 1&1