Mobility / Software-Test

Performance-Probleme und Staubildung durch mobile Nutzer frühzeitig aufdecken

Mobile Nutzer von Webportalen oder Webdiensten greifen oft mit schlechter oder langsamer Verbindung zu und sind aus Sicht des Webservers eher die gemütlichen Nutzer eines Dienstes. Genau aber diese Nutzergruppe stellt ausgerechnet ein besonderes Performanceproblem dar, das man als Anbieter systematisch untersuchen muss. Technisch lässt sich dies durch Lasttests und Performancemessungen toolunterstützt in der Laborsituation gut umsetzen.

Hand using smart phone on blur background of Traffic jam.

Web-Anwendungen sind heutzutage nicht mehr wegzudenken. Seien es Online-Shops, Online-Banking, Fördervergaben, Online-Spiele und dergleichen. Dabei greifen oft viele Benutzer gleichzeitig über das Internet auf Serverlandschaften zu, damit sie ihre Aufgaben erledigen können. Um das Benutzeraufkommen bewältigen zu können und psychologisch bedingte Antwortzeiten möglichst gering zu halten, ist es sinnvoll im Software LifeCycle Lasttests anzusiedeln.

Antwortzeiten im Sekundenbereich werden oft angenehm als „unmittelbar“ bzw. „nahtlos“ empfunden. Ab ca. 5-6 Sekunden entsteht bereits Langweile und die Aufmerksamkeit schwindet. Benötigen Antwortzeiten mehr als 10 Sekunden, besteht die Gefahr, dass der Anwender aufgibt und der Kunde möglicherweise verloren ist. Erwiesen ist auch, dass langsame Applikationen Stress verursachen und mehr Konzentration erfordern. Siehe hierzu auch „Response Times: The 3 Important Limits“ von Jacob Nielsen.

Abb. 1 - Antwortzeiten und deren Auswirkungen

Abbildung 1.: Antwortzeiten und deren Auswirkungen

 

Es gibt auch Aussagen, dass der Profit eines großen internationalen Online-Versandes um 1% steigt, wenn die Performance um 100msec verbessert wird. Statements wie diese hört man oft bei Vorträgen und Präsentationen der Tool-Hersteller.

Unumstritten ist auch, dass schlechte Performance mehr Schaden als temporäre Nichtverfügbarkeit anrichten kann. Dies kann sich als Imageschaden auswirken, speziell wenn man bedenkt, dass negative Publicity leichter aufgenommen wird als Positive. Die negative verbleibt auch länger im Gedächtnis.

Eine Herausforderung für Web-Applikationen sind Geräte, die über Mobilfunknetz angebunden sind. Das mag zwar eigenartig anmuten, da man denkt, dass langsam angebundene keinen Stress verursachen können. Es liegt aber daran, dass diese Geräte im Vergleich zu klassisch (LAN, WLAN) angebundenen in der Regel eine langsamere Internetverbindung mit schlechterer Qualität bzw. höherer Latenzzeit aufweisen. Konsequenzen daraus sind schlechtere Antwortzeiten und höhere Last im Netzwerk der Serversystems. Latenzzeit und Verlust von IP-Paketen müssen ebenfalls gesondert betrachtet werden:

  • Paketverlust bedeutet, dass verlorenen Pakete nochmals gesendet werden müssen.
  • Latenzzeit bedeutet, dass die Antwort verzögert beim Benutzer ankommt.

Diese beiden Tatsachen können Staus im Netzwerk der Serversysteme verursachen. Vergleichbar ist diese Situation mit landwirtschaftlichen Fahrzeugen, die PKWs auf einer Landstraße ausbremsen und für Staubildung verantwortlich sind. Für die Lasttests bedeutet dies, dass wir diese Umstände tool-unterstützt simulieren müssen. Die Grafik soll auch verdeutlichen, dass der Weg der IP-Pakete zwischen Sender und Empfänger im mobilen Fall ein weiterer und komplexerer ist als jener der über Kabel angebunden ist.

Abb. 2 - Der Weg der IP-Pakete

Abb. 2 – Der Weg der IP-Pakete

 

 

Die Latenzzeit hängt von der Bandbreite ab:

 

Mobilfunk-Standard Download-Rate
bei guter Signalstärke
Latenzzeit
GSM / GPRS 55,6 kbit/s 500msec
EDGE 236,8 kbit/s 300-400msec
UMTS 384 kbit/s 170-200msec
UMTS mit HSDPA 7,2 Mbit/s 60-70msec
HSDPA+ 14,4 Mbit/s 40msec
LTE 300 MBit/s 10msec
LTE Advanced 1 GBit/s 10msec

 

Ferner hängt die Latenzzeit auch von der Roundtriptime (RTT, Paketumlaufzeit) ab.

Je größer die Latenzzeit ist, umso länger ist die Sitzung des Anwenders im System aktiv.

Ein weiterer Aspekt, der schon im vorgelagerten Test betrachtet werden soll, ist die Vielzahl an unterschiedlichen Endgeräten (um nur ein paar der wichtigsten Aspekte zu nennen):

  • Samsung, Apple, …
  • Betriebssysteme (im Wesentlichen)
    • Android
    • Windows mobile
    • Blackberry
    • IOS
  • unterschiedliche Versionen von Betriebssystemen
  • Leistungsfähigkeit der Endgeräte (z.B. CPU, GPU)
  • Verschiedene Auflösungen
  • Hauptspeicher

Zurzeit soll es etwa 7000 verschiedene Modelle geben, und dazu kommen dann noch verschiedene Betriebssystem- und Browserversionen.

 

Vorgehensweise für Last- und Performancetests

Wie spielt sich ein Last- und Performancetest (LPT) ab?

  1. Anforderungen erheben: Ziel des Tests ermitteln (Last, Überlast, Antwortzeiten), Anzahl gleichzeitiger Benutzer ermitteln, Szenarien spezifizieren. Mix mobil zu kabelgebunden erheben!
  2. Tool auswählen, Lizenzkosten ermitteln, Teststrategie festlegen, ggf. Cloud-Anbindung herstellen, Infrastruktur aufbauen
  3. Szenarien aufzeichnen, Scripts lastfähig machen, Scripts debuggen und verifizieren
  4. Last- und Performance Tests werden in der Regel in Sitzungen durchgeführt, bei denen Vertreter folgender Expertengruppen bzw. Projektbeteiligter teilnehmen:
    1. LPT-Test-Experte
    2. Betriebsmitarbeiter (die die Serverauslastung und Netzwerkbelastung überwachen).
    3. Entwicklung
    4. Projektleitung
    5. Auftraggeber
  5. Abspielen der ausgewählten Szenarien – ggf. durch Lastgeneratoren in der Cloud. Aber Vorsicht: Hier besteht die Gefahr, bei mangelnden Vorsichtsmaßnahmen etwas „kaputt“ zu machen. Man sollte Last- und Performancetest nicht auf einer Produktivumgebung durchführen.
  6. Analyse und Auswertung der Testergebnisse mit dem Ziel, Performanceaussagen und Fehlerraten zu berichten. Es schließen sich daran an i.d.R.:
    1. Optimierungsmaßnahmen seitens Betrieb
    2. Korrekturen seitens Entwicklung
  7. Durchführen einer finalen Regression mit dem Ziel, das final getunte System für den Go-Live nochmals zu prüfen. Nach diesem Schritt sollen keine Korrekturen mehr erforderlich sein.
  8. Go-Live

Die Schritte 5-6 sind iterativ zu sehen.

 

Lasttests für mobiles Nutzerverhalten am Beispiel NeoLoad

Es gibt viele leistungsfähige Lastwerkzeuge, die man für die Simulation mobiler Nutzergruppen einsetzen kann.

Schon viele Jahre konnte ich mit dem Lasttestwerkzeug NeoLoad der Firma Neotys gute Erfahrungen sammeln und möchte im Folgenden die konkrete Umsetzung daher an seinem Beispiel erläutern. NeoLoad unterstützt alle erforderlichen Eigenschaften eines modernen Lasttesttools:

  • Aufzeichnen von Szenarien
  • Aufzeichnen von mobilen Geräten
  • Simulation von unterschiedlichen Geräten
  • Simulation von unterschiedlichen Browsern
  • Emulation von mobilen Netzwerken im Hinblick auf
    • Latenzzeit
    • Bandbreite
    • Paketverlust
  • Lastgeneratoren lokal oder Cloud-basiert
  • Vielfältige Monitore für die Serversysteme
  • Generierung von aussagekräftigen Berichten

Bei der Simulation mobil angebundener Endgeräte sind auch folgende Parameter einstellbar:

  • Zu simulierender Mobilfunkstandard (UMTS, HSDPA, LTE, …)
  • Signalstärke
  • Durchsatz für Upload bzw. Download
  • Latenzzeit für Upload bzw. Download
  • Paketverlust für Upload bzw. Download

Wichtig ist nun, dass man möglichst realitätsnahe Fallbeispiele findet, um valide Aussagen über die Performance der Serversysteme zu erhalten. Es macht nicht viel Sinn, beispielsweise 100% der Anwender mit EDGE mit schlechter Signalqualität zu simulieren. Dies würde notgedrungen zu einem Über-Tuning der Netzwerkparameter (z.B. Queue-Länge) führen. Zum Beispiel starten man mit einem Mix mobile-langsam(EDGE):mobile-schnell(LTE):verdrahtet(DSL) im Verhältnis 20:20:60 und führt entsprechend Businessmodell ein Fein-Tuning für den Mix durch.

 

Fazit

Mobile User halten Verbindungen länger. D.h. es sind gleichzeitig mehr konkurrierende Anwender am System. Als Konsequenz entsteht Queuing – ein Stau im Netzwerk. Dadurch werden auch klassisch angebundene Anwender ausgebremst. Im schlimmsten Fall treten Netzwerkfehler auf, die oft bis zu den Endanwendern durchkommen. Mit der Planung und Umsetzung von Lasttests kann diesem Problem rechtzeitig begegnet werden. Durch die richtige Toolauswahl erzielt man realistische Simulationen der zu erwartenden Anwendungsfälle.

 

Passende Artikel

Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*