Top Banner
Einführung: Lasttests mit JMeter Sitestress.eu – Jesuitenmauer 24 – 33098 Paderborn www.sitestress.eu - [email protected] - 05251 / 687060
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

May 05, 2018

Download

Documents

vanque
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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!