Performance Monitoring Tool

Apache JMeter 3.0 ist da – und damit über 100 neue Features

Dominik Mohilo

© Apache Software Foundation

Es ist über ein volles Jahr her, seit Apache mit JMeter 2.13 die bis dato aktuellste Version des beliebten Performance-Testtools veröffentlicht hat. Mit der nun erschienenen Version des Open-Source-Tools wurden nicht nur über 100 neue Features eingeführt, sondern auch mehr als 60 Bugs gefixt.

Apache JMeter

Apache JMeter ist eine quelloffene Anwendung, mit der sich die Performanz statischer wie dynamischer Ressourcen (Files, PHP, Java, ASP.NET, Java Objekte, Querys, FTP Server, etc.) testen lässt. Außerdem lässt sich mit dem Tool eine große Last auf Servern, Servergruppen, Netzwrken oder Objekten simulieren, um die Stärken und Schwächen auszuloten und die generelle Performanz unter verschiedenen Belastungen zu analysieren.

Man kann JMeter zudem dazu nutzen, grafische Analysen der Performanz anzufertigen oder das Verhalten eines Servers, Scriptes oder Objektes unter starker, gleichzeitiger Belastung zu testen. Unterstützt werden dabei diverse Server/Protokoll-Typen, darunter HTTP, SOAP, FTP, JDBC, LDAP, JMS, SMTP, POP3 und TCP.

Das Open-Source-Tool ist eine 100%ige Java-Anwendung und wurde ursprünglich entwickelt, um Web-Applikationen zu testen, allerdings wurde die Funktionalität kontinuierlich für andere Bereiche des Testens erweitert.

Version 3.0

Die neue Suchfunktion

Nutzer der Vorgängerversionen von JMeter wird in Version 3.0 zu allererst das neue Suchfenster an prominenter Stelle im View Results Tree-Fenster ins Auge fallen. Es ist anhand dessen nun möglich, die Requests, Responses, Header, Cookies usw. nach Text und sogenannter regexp (Regular experience) zu durchforsten.

Die neue Suchfunktion / Quelle: Apache Jmeter - New and Noteworthy

Die neue Suchfunktion / Quelle: Apache Jmeter – New and Noteworthy

JS223-Testelemente

Mit dem Update benötigen JSR223-Testelemente keinen Cache Compilation Key mehr. Es reicht, im Postprozessor ein Häkchen an der Box Cache compiled script if available zu setzen, schon wird das Script von Elementen wie dem Pre-Processor, Post-Processor, Assertions und Listeners kompiliert und, sofern die verwendete Sprache es unterstützt, der kompilierte Code gecached.

Der neue JSONPath-Postprozessor

Durch die Einführung des neuen JSONPath-Postprozessors wird JSON noch besser in JMeter eingebunden. Der Postprozessor erlaubt es dem Anwender, Daten unter Nutzung einer JSON-PATH-Syntax besser aus dem JSON-Content zu extrahieren. Der neue Postprozessor ist dabei dem Regular-Expression-Postprozessor sehr ähnlich, soll aber für JSON-Code besser geeignet sein. Er basiert auf der Jayway JSON Path Bibliothek

Der neue JSON-Postprozessor  / Quelle: <a href="http://jmeter.apache.org/changes.html"

Der neue JSON-Postprozessor / Quelle:

Nashorn

Freunde von Nashorn werden sich freuen: Es ist nun möglich, die JavaScript-Engine von Oracle auch in JMeter als Engine zu verwenden. Apache verspricht Usern dabei eine verbesserte Performance und natürlich eine vereinfachte Bedienung. Um Nashorn zu aktivieren, muss die Datei user.properties die folgende Zeile enthalten: javascript.use_rhino=false. Mit Java 8 kann Nashorn im IfController, der __javaScript-Funktion und den JSR223-Testelementen (wenn die Sprache JavaScript ausgewählt ist) verwendet werden.

Das neue Reporting-Feature

Ein neues, umfangreiches Reporting-Feature soll nun keine Wünsche der Testvisualisierung mehr offen lassen. Ein dynamischer HTML-Report kann direkt am Ende eines Tests generiert werden. Das geht auch zu einem späteren Zeitpunkt aus einer Result-Datei heraus, folgende Metriken werden dabei zur Verfügung gestellt:

  • Eine APDEX-Tabelle (Application Performance Index), die den APDEX basierenden auf konfigurierbaren Werten für akzeptierte und erfüllte Grenzen berechnet.
  • Einen Request-Summary-Graphen, der den prozentualen Anteil an geglückten und missglückten Transaktionen zeigt.
  • Eine Statistics-Tabelle, die eine Zusammenfassung aller Metriken per Transaktion in einer einzigen Tabelle bereitstellt – inklusive drei konfigurierbarer Perzentilwerten.
  • Eine Error-Tabelle, die sämtliche Fehler und ihren Anteil in den gesamten Requests zusammenfasst
  • Ein zoombares Diagramm, in dem man sich sämtliche Transaktionen nach folgenden Ereignissen anzeigen lassen kann: Antwortzeiten während einer Zeitperiode, Datendurchfluss während einer Zeitperiode, Latenzen während einer Zeitperiode, Hits pro Sekunde, Response Codes pro Sekunde, Transaktionen pro Sekunde, Antwortzeit versus Requests pro Sekunde, Latenz versus Request pro Sekunde, Antwortzeiten der Perzentilwerte, aktive Threads während einer Zeitperiode, Zeiten versus Threads und die einer Übersicht über die Verteilung von Antwortzeiten.

Weitere Verbesserungen und Änderungen

Im Bereich der UX ist die verbesserte Darstellung mit HiDPI-Bildschirmen hervorzuheben. Im Punkt Hints und Tipps in der JMeter-Gebrauchsanweisung gibt es weitere Informationen zur Nutzung des Tools mit einem HiDPI-Bildschirm unter Linux und Windows.

Zur User Experience tragen außerdem das neue Logo bei, und auch die Icons von JMeter wurden modernisiert und überarbeitet, sodass sie nun intuitiver und bedeutungsvoll erscheinen. Es wurde zudem die Möglichkeit implementiert, neue Shortcuts anzulegen (STRG + 0STRG + 9), diese können über die Eigenschaften der Datei gui.quick_XXX konfiguriert werden.

Mit Version 3.0 wurde Apache Groovy, die JVM-Scriptingsprache, mit JMeter im Lib-Ordner gebündelt, wodurch man sie nun durch die JSR223-Elemente sofort verwenden kann. Nicht zu vergessen ist auch die Tatsache, dass für die Nutzung von JMeter nun mindestens Java 7 benötigt wird. Mit der Migration zu Java 7 ging eine umfangreiche Bereinigung des zugrundeliegenden Quellcodes und eine komplette Prüfung der Dokumentationen und Verbesserungen, was den Inhalt und die Präsentation von JMeter betrifft, einher. Viele Tests wurden zudem zu JUnit 4 migriert.

Eine vollständige Übersicht über die Verbesserungen, Änderungen und neue Features gibt es auf der Homepage von JMeter. Dort gibt es auch Dokumentationen, Tutorials, eine Übersicht über bekannte Probleme und Workarounds sowie natürlich die Möglichkeit, JMeter herunterzuladen.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: