einführung: lasttests mit jmeter - sitestress.eu · Über sitestress.eu warum lasttests? was ist...

13
Einführung: Lasttests mit JMeter Sitestress.eu – Jesuitenmauer 24 – 33098 Paderborn www.sitestress.eu - [email protected] - 05251 / 687060

Upload: vanque

Post on 05-May-2018

238 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

Einführung: Lasttests mit JMeter

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Page 2: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Über SITESTRESS.EU

● Warum Lasttests?

● Was ist JMeter?

● Wie arbeitet JMeter?

● Skripte für JMeter

● Tests planen

● Testen

● Ergebnisse analysieren

● Beispiel JMeter-GUI

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Agenda

Page 3: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

… über SITESTRESS.EU● Webseiten schneller machen ist

unser Thema!

● Spezialisiert auf Performance- und Lasttests und Optimierungen beim Client (on-PageSpeed)

● Seit 2003 in diesem Bereich unterwegs

● Tool-unabhängig (NeoLoad, JMeter, LoadRunner, Selenium)

● Agiles Testen

● Automatisiertes Testen

● Internet-Agentur-Background

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Page 4: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Ist-Aufnahme eines Systems

● Tuning nur mit reproduzierbaren Messergebnissen

● Durch Monitoring Flaschenhälse identifizieren

● Faster = better

● „Amazon noticed a 1% drop in sales for every 0.1 second the site loaded slower“

Time = Money→Sitestress.eu – Jesuitenmauer 24 – 33098 Paderborn

www.sitestress.eu - [email protected] - 05251 / 687060

Warum Lasttests?

Page 5: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● JMeter erzeugt u.a. HTTP- und HTTPS-Zugriffe und somit Last auf beliebige Server

– Kann mit sehr vielen verschieden Protokollen umgehen(SOAP, XML-RPC, http(s), JDBC)

– Gute GUI für „Nicht-Programmierer“ aber auch Skriptfähig (JavaScript, Java)

– Master-Slave / Client-Server-fähig, läuft in der Cloud AmazonCloud EC2 →

● Open-Source-Software

– frei verfügbar

– Div. Plugins, erweiterbar

– JMeter ist eine Java-Anwendung, läuft überall dort, wo auch Java läuft

● JMeter ermöglicht die Messung von Zugriffs- und Antwortzeiten von

– Webanwendungen

– Simuliert unterschiedliche virtuelle Benutzer (VU = Virtual User)

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Was ist JMeter?

Page 6: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Erstellung eines Skripts durch Aufzeichnung der Browserinteraktion mit einem Proxy (https wird seit JMeter 2.4 unterstützt)

● Parametrisierung des Skripts in der GUI(z.B.: Benutzernamen + Passwörter aus CSV-Liste, Servernamen, Port und Pfad aus Variablen)

● Test ausführen und Ergebnisse analysieren

● Jeder virtuelle User (VU) hat einen eigenen Thread

- mehrere hundert VUs pro JMeter-Instanz- für große Lasten mehrere Rechner Amazon EC2→ →

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Wie arbeitet JMeter?

Page 7: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Testfälle können mit einem „Rekorder“ aufgezeichnet werden

– als Proxy realisiert

– kann auch HTTPS aufzeichnen (Problem: Zertifikate Man in the Middle)→– Automatische Aufzeichnung von Cookies

– Unterschiedliche Benutzer (VUs) mit unterschiedlichen Cookies realisierbar

● Zeitmessung für jeden Request und jeden VU Achtung: große Datenmengen!→● Daten die per GET/POST/COOKIE übertragen werden, können parametrisiert werden,

z.B. Benutzer/Passwort

● Für einfache bis mittlere Anforderung: Keine Programmierung oder Programmierkenntnisse notwendig, Einbindung von JavaScript, Java oder externe Programme in JMeter-Skripte für komplexe Szenarien möglich

● Sehr flexibles Variablenmanagement möglich

– unterschiedliche „Variable Scopes“

– Zufällig ausgewählte Listen oder der Reihenfolge nach

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Skripte für JMeter

Page 8: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Div. Listener (von Aggregate-Reports bis CSV)

● Über Plugins leistungsfähiges Monitoring der Systeme machbar

● Das Datamining sollte in Excel oder R erfolgen

● Automatisierte Reporterstellung möglich (SLAs)

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

JMeter-Reports

Page 9: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Was soll genau getestet werden? (Loginvorgang, Seitenaufruf, Bestellvorgang)

● Eine oder mehrere Aufgaben/Skripte pro Test

● Nur ein Collector pro Test möglich

● Start und Ende definieren

● Anzahl an (unterschiedlichen) Benutzern definieren

● Wie werden die unterschiedlichen Benutzer aktiviert? (Gleichzeitig/Verzögert)

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Tests planen

Page 10: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Test vom Master aus starten– Slaves lassen sich auch einzeln starten

– Übertragung der in den Slaves erhoben Daten ist konfigurierbar (Batch, onHold, Testende, kontinuierlich)

– Günstig: Slaves in der Cloud Amazon EC 2→– Kommunikation Master Slaves durch RMI↔

● Test anhalten durch– definiertes (Abbruch-)Kriterium

– Benutzerinteraktion/Abbruch durch den Benutzer

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Testen

Page 11: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Timer Values/Elapsed Time

● Timer Values/Anzahl an Benutzer (VUs)

● HTTP(S) Bytes/Sec

● HTTP Response Time vs. VUs

● Eigene Variablen können mitgeschrieben werden (z.B. Session-ID, IP des Clients, JavaScript-Hash)

● Export der Ergebnisse nach Excel oder spezielle Werkzeuge

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Ergebnisse analysieren

Page 12: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Beispiel: JMeter-GUI

Page 13: Einführung: Lasttests mit JMeter - sitestress.eu · Über SITESTRESS.EU Warum Lasttests? Was ist JMeter? Wie arbeitet JMeter? Skripte für JMeter Tests planen Testen Ergebnisse analysieren

● Sitestress.eu ist ein Projekt der OGVIT GmbH & Co. KG http://www.sitestress.eu

Tel.: +49 5251 687060

E-Mail: [email protected]

● Paderborn: – OGVIT GmbH & Co.KG

Jesuitenmauer 24

33098 Paderborn

● Hamburg: – C/O Postalo GmbH

Kattrepel 2 - Montanhof

20095 Hamburg

Sitestress.eu – Jesuitenmauer 24 – 33098 Paderbornwww.sitestress.eu - [email protected] - 05251 / 687060

Danke für Ihre Aufmerksamkeit!