Last- und Performancetesting
-
Upload
juerg-stuker -
Category
Technology
-
view
1.729 -
download
0
description
Transcript of Last- und Performancetesting
Internet Briefing. Developer Konferenz.Clientseitige Last- & Performancetesting. Namics.
Jürg Stuker. CEO. Partner.
8. Dezember 2011
Namics.Last. Performance. Im Griff.2
Thema 1
Verstehen was zwischen User Agent und Server geschwatzt wird...
8. Dez. 2011
Namics.Last. Performance. Im Griff.3
Thema 2
Verhalten der Anwendung unter Last (#User und #Traffic)
8. Dez. 2011
Namics.4 Last. Performance. Im Griff.
Verstehen
8. Dez. 2011
Namics.58. Dez. 2011 Last. Performance. Im Griff.
Browser Websitehttp/s
Welche Elemente lädt der Browser?- unconditional request- conditional request
Namics.Last. Performance. Im Griff.6
Unconditional versus conditional
Unconditional (leerer Cache / erster Besuch)
Conditional (hat das/ein Element lokal)
8. Dez. 2011
Browser WebsiteGET
If-Modified-Since?Browser Website
304
Namics.78. Dez. 2011 Last. Performance. Im Griff.
Browser Websitehttp/s
Was lädt der Browser?- Quelle- Grösse
- Anzahl Requests- Reihenfolge
- Headerdaten / Protkoll
Namics.88. Dez. 2011 Last. Performance. Im Griff.
Browser Websitehttp/s
Welche Elemente lädt der Browser?- im Vergleich zur alten Website
Namics.Last. Performance. Im Griff.9
Lesen...
must should
http://stevesouders.com/
http://code.google.com/speed/articles/
8. Dez. 2011
Caching verstehen!
z.B. http://www.mnot.net/cache_docs/
Namics.10 Last. Performance. Im Griff.
Tools
8. Dez. 2011
Namics.Last. Performance. Im Griff.11
Tool 1: Firebug
https://addons.mozilla.org/de/firefox/addon/firebug/
8. Dez. 2011
Namics.Last. Performance. Im Griff.12
Tool 2: http://www.webpagetest.org/
8. Dez. 2011
Namics.Last. Performance. Im Griff.13
Tool 3: http://www.proxy-sniffer.com/
8. Dez. 2011
Namics.Last. Performance. Im Griff.14
Tool 4: http://www.charlesproxy.com/ (USD 50)
8. Dez. 2011
Namics.Last. Performance. Im Griff.15
Wann welches Tool (Fokus Ladeverhalten)?
Firebug Webpagetest Charles Proxy Sniffer
Browser nur FFox ausgewählte alle alle
Testpunkt lokal remote(unkontrolliert)
lokal lokal / remote(kontrolliert)
Details ++ - ++ +
Aufzeichnung nein nein ja ja
Automati-sierung
nein nein nein ja
Kosten gratis gratis USD 50 gratis / Lizenz
für Mobile nein nein ja (Proxy) ja (Proxy)
Spezialität - Clientcode Analyse
- Übersicht
- Sicht “aus dem Internet”
- Throttling- Rewrite- FFox Menu
- CMD Line- Lasttest
8. Dez. 2011
Sackmesser Fast Food Rolls Royce Alles drin
Namics.16 Last. Performance. Im Griff.
Last- und Performancetesting (mit Proxy Sniffer)
8. Dez. 2011
Namics.Last. Performance. Im Griff.17
Was?
Lastverhalten und Performance
Auslieferungszeit der Seiten (Usersicht)
Anzahl parallele Users
benötigte Bandbreite
Stabilität
über Zeit Memory Leaks & Overflows
unter Last Concurrency & Deadlocks
Fittness der Infrastruktur
Reproduktion von Problemen für Fixing
8. Dez. 2011
Namics.Last. Performance. Im Griff.18
Wann?
8. Dez. 2011
AnforderungenProof ofConcept Entwicklung Going Live Betrieb
Test eingesetzter Frameworks
Test der Anwendung
Integration / Deployment
Bei jedem Release / Fix
Spezifikation der Bedürfnisse• gleichzeitigen
User• Anzahl Requests• User Stories• Antwortszeit / -
verteilung
Namics.Last. Performance. Im Griff.19
Vorsicht
Lasttests generieren Last!
8. Dez. 2011
Namics.Last. Performance. Im Griff.20
Komponenten von Proxy Sniffer
Nur zwei Dateien: prxsniff.jar (16.4 MB) and prxsniff.key
Gute Doku
8. Dez. 2011
port 7990WebAdmin / GUI
port 7993Exec Agent
port 7999HTTP Proxy
aufzeichnen
ausführen
port 7995Job Controller
Namics.Last. Performance. Im Griff.21
Ablauf einer Testsequenz
8. Dez. 2011
Szenarioaufzeichnen
Validieren(Aufzeichunganpassen)
Test generieren(java)
Test kompilieren(class)
Test ausführen
Test auswerten
anpassen (onething at the time)
Namics.22 Last. Performance. Im Griff.
Test ausführen und auswerten
8. Dez. 2011
Namics.Last. Performance. Im Griff.23
Demo von Proxy Sniffer
Am Vortrag live gezeigt und sich hier im Überblick:
http://www.youtube.com/watch?v=kP7ZxGTBync
8. Dez. 2011
Namics.Last. Performance. Im Griff.24
Interpretation
Viel Lesen
Erfahrung
...
8. Dez. 2011
Namics.Last. Performance. Im Griff.25
Beispiel 1
8. Dez. 2011
instabil
Kapazitätsgrenze
12Mb / Sekunde
Namics.Last. Performance. Im Griff.26
Beispiel 2
8. Dez. 2011
85Mb / Sekunde
Namics.Last. Performance. Im Griff.27
Beispiel 3
8. Dez. 2011
Problem mit Nebenläufigkeit
Namics.Last. Performance. Im Griff.28
Beispiel 4
8. Dez. 2011
wunderbar
Namics.Last. Performance. Im Griff.29
Wie?
Richtig schwierig ist das Szenario
User Stories als Grundlage (“follow the money”)
Auftraggeber / Domänenexperte
Analytics (zuzüglich Sicherheitsmarge)
Unterschiedliche Testaspekte
Bandbreite ein grosses Element max. wiederholen
Anzahl Transaktionen: Kurze Testzyklen mit steigender Nutzerzahl 1, 5, 25, 50, 75, 100... (Asymptote / Crash)
Long Runner Wenig Last aber sehr lange
System unter Last stoppen und starten
8. Dez. 2011
Namics.Last. Performance. Im Griff.30
Wo klemmts (typischerweise)?
Network (Pipe, Router, Firewall)
< 1%
Load Balancer
5 %
Reverse Proxy (Produkt)
5 %
Reverse Proxy (Konfiguration)
10 %
OS Konfiguration (TCP/IP Stack)
5 %
Framework
10 %
Konfiguration der Anwendung
20 %
Programmcode der Anwendung
40 %
Datenbankmanagementsystem
5%
8. Dez. 2011
Quelle: David Fischer
Namics.31 Last. Performance. Im Griff.
Zusammenfassung
8. Dez. 2011
Namics.Last. Performance. Im Griff.32
Zusammenfassung
IMMER testen
Produkteigentümer definiert die Anforderungen
früh im Projekt testen (aber spät optimieren)
Möglichst nahe am Produktionssystem testen
90% der Requests genügen (ausser bei Fehlern)
Guten Szenarien sind die Knacknuss
8. Dez. 2011
Internet Briefing. Developer Konferenz.Clientseitige Last- & Performancetests. Namics.
[email protected]@jstuker
8. Dezember 2011