ePetition Problemanalyse

ePetition Problemanalyse

Wie in den Messergebnissen ersichtlich gibt es deutliche Probleme bei der Performance der ePetitionsseite.

Ein Blick in die Messdaten verrät, dass es definitiv kein Bandbreitenproblem ist, sondern sich das Problem in der Middleware bzw. dem Backend befindet. Das bestägtigt auch die Aussage, die schon länger hier zu lesen ist

Zwei exemplarische Detailansichten von meinen Messungen weisen extrem Lange „First Byte“ Zeiten für die Auslieferung des Root Objekts auf (das eigentliche HTML) auf. Was für diese Annahme spricht. Der Server weiß, was mein Browser angefragt hab, benötigt aber eine lange Rechenzeit um mir das erste Byte auszuliefern. Der Download an sich geht dann wieder schnell (wäre bei mangelnder Bandbreite deutlich länger)

objekt_detail

Aufruf der Startseite der ePetition gegen die Sperrung von Internetseiten. Deutlich zu sehen, die extreme First Byte Zeit. Teilweise auch lange Connectzeiten. Das eine Problem bedingt das andere. Ist ein Socket des Servers lange besetzt, weil auf Daten gewartet wird, ist dieses Für andere mögliche User „besetzt“ – ergo es dauert ein wenig bis eine neue Verbindung etabliert werden kann.

Auf der Registrierungsseite kommt neben der Problematik des Root Objekts ein weiteres Problem hinzu: Das Captcha.
Die Erzeugung dieses dynamischen Elements nimmt wieder eine lange Zeit in Anspruch, sodass auch hier die Auslieferung des ersten Bytes auf sich warten lässt.

object_detail2

First byte Wartezeit beim ersten und beim Root-objekt sowie bei der Erzeugung des Captchas.

1stbyte

Dedizierter Chart nur für die Auslieferung des ersten Bytes – 1st Byte Zeiten weisen oft auf ein Problem im Backendbereich hin. Selten liegt das Problem auch mal an anderweitiger Netzwerklatenzen.

Neben der 1st Byte Time gibt es allerdings auch Probleme (wenn auch weniger als von mir erwartet) mit der Connection Zeit. D. h. die Webserver scheinen fast ausreichend groß dimensioniert zu sein viele User in Empfang nehmen zu können.

connection

Einige Ausreißer belegen, dass es nicht immer leicht ist überhaupt mit dem Server eine Verbindung zu etablieren

Ähnlich wie bei der Connection zeichnet sich das Bild für die Etablierung einer SSL verschlüsselten Verbindung.
Ist ein Server überlastet, dann kann es auch bei dem SSL Handshake zu Verzögerungen kommen. Die komplette Registrierungsseite – sowie Teile der Petitionsseite sind SSL Verschlüsselt. Das kostet Zeit.

ssltime

Deutlich auch hier bei der SSL Zeit die tageszeitabhängige Schwankung.

Alle drei genannten Problem hängen unmittelbar zusammen: Ist ein Socket wegen langer 1st Byte Zeit lange belegt (und muss der Rechner lange rechnen), dann schwitzt der Server schon mit dem connection handling (was wiederum dazu führen kann, dass der Server noch länger rechnen muss). Wird on top auch noch die Rechenleistung für SSL Verschlüsselung benötigt, dann kann es schnell passieren, dass ein User 60 Sekunden darauf wartet dass die Webseite endlich fertig geladen ist.