Freitag, 27. Dezember 2013

Was zum Teufel ist Speed in dynamischen Systemen ?

So manche Webdesigner und kleine Agenturen verstehen nur Bahnhof wenn jemand etwas von Seitenspeed erzählt.

Zudem bietet manche Software die Anzeige in der Art " Generated in xxx seconds" an - das wird dann mit Speed verwechselt.

Tatsächlich setzt sich der vom Besucher erlebte Speed aus diversen Faktoren zusammen.

Die Generierungszeit

Das ist die Zeit die ein System benötigt um das HTML einer Seite zu generieren und zu senden.
Senden bedeutet hier - der Host drückt die Daten in die Leitungen des Netzes.

Diese Zeit ist in einem dynamischen System ebenfalls dynamisch und schwankt teils enorm.
Es macht auch keinen Sinn als Einziger mal eine Seite aufzurufen um sich dann zu sagen - die Zeit ist gut.

Man muss mit einer Anzahl X von Besuchern rechnen die gleichzeitig ein solches System belasten.
Und da sieht es sehr häufig so aus das ein System bei 100 Besuchern die gleichzeitig Aktionen unternehmen  Zeiten von     30.07 Sekunden heraus kommen, der erste Besucher aber  in    0.30 Sekunden  seine Inhalte in die Leitung gedrückt bekommt.
Schaut man sich einen solchen Test über alles an stellt man erschreckt fest das bei solchen Systemen weit über 90 % mehr als 6 Sekunden unter dynamischer Last benötigen um ihre Inhalte zu generieren - völlig unbrauchbar, es sei denn man legt Sites an die so gut wie keine Besucher haben.

Der Transport

Wie im realen Leben dauert ein Transport länger, je weiter der Empfänger vom Sender entfernt sitzt.
Eine deutsche Seite von Deutschland aus abgerufen ist schneller da als wenn man sie von Australien aus abruft.
Nun werden Inhalte nicht komplett abgeschickt sondern in Datenpakete aufgeteilt und die können durchaus unterschiedliche Wege nehmen - erst beim Empfänger werden sie zusammengesetzt.
Je höher das Datenvolumen desto mehr Päckchen müssen gesendet und beim Empfänger zusammengesetzt werden.
Und einzelne HTML Bestandteile wie Imagelinks, CSS Links etc.  werden als einzelner Request jeweils für sich betrachtet und ebenfalls in Päckchen aufgeteilt und gesendet.

Damit wird klar - je höher das Transfervolumen in Bytes und je höher die Anzahl von Request's ist desto langsamer wird der Transport.
Und natürlich ist auch klar das der Gesamttransport abhängig ist von der Leistung von Knotenpunkt zu Knotenpunkt und natürlich auch von der Anbindung des Empfängers.

Die Dinge die ein Sender anstellen kann wird mit Pagespeed Mitteln angegangen.

Pagespeed

Das sind eine Vielzahl von Methoden und Möglichkeiten die  jeder Webanbieter einsetzen kann um  den Transport zu beschleunigen.

Aber es sind auch jede Menge Methoden enthalten die auf die Arbeitsweise der Browser selbst eingehen um beim Empfänger selbst ein optimales Rendering zu ermöglichen.
Optimal bedeutet hier schnellstmöglich und tatsächlich - diese Methoden haben einen durchschlagenden Erfolg.

Es kommt also insgesamt darauf an das


  1. Seiten auf der Senderseite schnellstmöglich generiert werden - es gibt da Titel die leisten über 600.000 Seiten pro Minute - andere sehr bekannte nur ein paar hundert pro Minute.
  2. Den Transport zu beschleunigen
  3. Das Rendering zu beschleunigen


Was ist ein akzeptabler Speed ?

Der Countdown beginnt wenn eine URL geöffnet werden soll.
Wenn eine Seite von dem Zeitpunkt an in maximal 1 Sekunde komplett vorhanden und gerendert wurde ist der Speed optimal.
Über 1 Sekunde bis 1,5 Sekunden ist der Wert noch akzeptabel aber man muss bereits mit Besucherschwund rechnen , d.h. Besucher verlassen die Seite ohne sie gelesen zu haben.

Über 1,5 Sekunden verlassen Besucher eine Seite schon in Mengen !

Welche Messmittel gibt es ?


Es gibt eine große Anzahl von Programmen mit denen man messen kann ( http://www.opensourcetesting.org/performance.php ).

Eines der besten ist das Programm Siege.

Allerdings rendern diese Programme nicht sondern erstellen eine dynamische Last und rufen alles ab was zu senden wäre.
Damit kann man aber klar erkennen ob ein System X oder Y eine Zielvorstellung (Besuchezahl X gleichzeitig) überhaupt erfüllen kann.

Keine Kommentare: