August 2010
Performance als Schlüssel zum Erfolg
Fortsetzung, Teil 4
Dynamischer Inhalt
Obwohl der Grossteil des Inhalts auf Nachrichtenseiten für eine geraume Zeit statisch ist (neue Nachrichtenmeldungen kommen nicht im Sekundentakt), gibt es genug dynamischen Inhalt, der für jeden Benutzer neu generiert werden muss. Als Beispiel seien hier alle Arten von Ticker-Informationen, Wetter bzw. personalisierte Werbung genannt.
dynaTrace identifiziert dynamische Inhalte aufgrund einiger Regeln die im Best Practice on Server-Side Performance-Dokument beschrieben sind. Diese Requests werden im Server-Side-Tab aufgelistet und nach Server-Zeit sortiert. Die Server-Zeit ist jene Zeit, die oft als Time-To-First-Byte bezeichnet wird. Es ist also jene Zeit vom letzten Byte des HTTP-Requests bis zum ersten Byte des HTTP-Response. Es beinhaltet auch die Netzwerklatenz zwischen Browser und Server – kommt jedoch so nahe wie möglich an die tatsächliche Server-Zeit heran. Folgender Screenshot zeigt die dynamischen Inhalte für Bild.de:
Die langsamsten Requests sind die Börseinformation, die Initialseite selbst sowie das Wetterservice. Weiters finden wir einige Requests auf ein externes Werbeservice sowie Requests auf einen Web-Tracking-Service (nicht sichtbar im obigen Screenshot). Server-seitige Performance stellt also vor allem bei dynamischen Inhalten ein Problem dar – und zwar genau dann, wenn viele Benutzer gleichzeitig auf die Seite zugreifen. Dann ist es natürlich um so schlimmer, wenn genau diese Inhalte langsam sind und Benutzer davon abhalten, mehr Zeit auf der Seite zu verbringen bzw. tatsächlich auf diese Werbebanner zu klicken.
Unter
Top 10 Performance Problems taken from Zappos, Monster, Thomson and Co
finden Sie Informationen über die typischen Server-seitigen Performanceprobleme und wie man Sie am besten vermeidet.Fazit: Wer liefert die schnellsten News?
Im direkten Vergleich schneiden beide Webseiten beinahe gleich schlecht ab. Beide haben sehr viele Inhalte auf den Seiten ohne Gebrauch von allgemeinen Best Practices in den Bereichen Browser-Caching oder Netzwerk-Roundtrips zu befolgen. Die Gesamtladezeiten beider Seiten sind mit 14 Sekunden (hängt natürlich vom Internetzugang ab) relativ hoch. Beide Seiten liefern dem Benutzer ein erstes visuelles Feedback in einer akzeptablen Zeit (< 2 Sekunden). Sowohl dynaTrace als auch PageSpeed und YSlow erlauben es, die gesammelten Resultate nach ShowSlow zu exportieren. ShowSlow ist eine Open-Source-Plattform und dient als Performance-Repository für Web-Metriken. ShowSlow.com hostet eine öffentliche Instanz dieser Software und ermöglich Ihnen, Ihre eigenen Resultate hochzuladen und zu vergleichen:
Der Unterschied in der Gewichtung der drei Tools kommt daher Zustande, da z.b. dynaTrace mehr Wert auf die tatsächliche Ladezeit (14 Sekunden) legt, wohingegen YSlow und PageSpeed mehr Wert auf allgemeine Best Practices legen. Ein guter Mix aus allen Tools ist daher ratsam – vor allem weil nicht jedes Tool alle Browser unterstützt.
Wer ist nun der Gewinner der Analyse? Die Gewinner sind hoffentlich die Leser dieser Online-Nachrichtenangebote. Mit Hilfe derartiger Analysen, mit Hilfe von Tools, die Probleme aufdecken, und mit Hilfe von Personen wie Steve Souders wird Performance verstärkt ins Lampenlicht gerückt:
Performance == Mehr Benutzer == Mehr Umsatz
Andreas Grabner hat mehr als 10 Jahre Erfahrung als Architect, Software Entwickler und Performance Engineer. Er arbeitet derzeit also Technology Strategist bei dynaTrace. In dieser Rolle beeinflusst er die Productstrategie von dynaTrace und arbeit eng mit Kunden um Performance Management in deren Prozessen über den gesamten Entwicklungszyklus zu Integrieren.
Vor dynaTrace war Andreas 7 Jahre bei Segue Software (später Borland) als Entwickler, Performance Engineer und Product Manager tätig.
Es gibt noch zig andere Ansätze. Der Bericht ist aber super aufgegliedert und sollte helfen das Thema bei vielen etwas zu sensibiliseren. #zitieren
In punkto deployment haben sie aber recht. mehrere files haben den vorteil gezielt codeteile auszutauschen. daher muss man hier gezielt entscheiden ob merging sinn macht. In meiner arbeit mit web 2.0 unternehmen hab ich seiten angetroffen die bis zu 50 js files auf einer seite hatten. hier hat sie das merging definitiv eine performanceverbesserung gebracht #zitieren
Interessant war beim Test von z.B. YSlow, dass empfohlen wurde, die insgesamt 20 CSS und 30 JS zu mergen. Diese liegen jedoch nur auf dem Server, sind aber niemals gleichzeitig eingebunden. YSlow überprüft also scheinbar die Verzeichnisinhalte und nicht die im Dokumentenkopf registrierten CSS und JS und erteilt seine Empfehlungen folglich auf dieser Grundlage statt auf Basis einer Messung. Das halte ich für fragwürdig.
Was mir nicht verständlich erscheint ist, wie gzip komprimierte Dateien, welche doch auch mit dieser Endung gespeichert werden, vom Dokument wieder entpackt werden sollen, um damit arbeiten zu können!? #zitieren

























