29.01.2013 Aufrufe

Java Performance Tools – Teil 1 (Grundlagen)

Java Performance Tools – Teil 1 (Grundlagen)

Java Performance Tools – Teil 1 (Grundlagen)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

werden, um die Klassennamen auf der<br />

Konsole auszugeben. Hierzu muss der<br />

Agenten-Code aber noch in ein JAR gepackt<br />

werden, das über eine spezielle MA-<br />

NIFEST.MF-Datei verfügt:<br />

Manifest-Version: 1.0<br />

Premain-Class: de.codecentric.instrument.JMVTIAgent<br />

Mithilfe des <strong>Java</strong>-Kommandozeilen-Parameters<br />

-javaagent:jarpath[=options]<br />

kann der Agent und die agentenspezifischen<br />

Parameter definiert werden. Das<br />

Beispiel zeigt, dass man mit einem java.<br />

lang.instrument-Agenten ohne C oder<br />

C++ Code schreiben kann, der spezifische<br />

Funktionen in bestehende <strong>Java</strong>-Anwendungen<br />

einfügen kann. Viele AOP Frameworks<br />

basieren auf dieser Technologie,<br />

um Aspekte in die Anwendungen zur<br />

Laufzeit „einzuweben“. Für Profiler- und<br />

Diagnose-<strong>Tools</strong> ist vor allem die Plattformunabhängigkeit<br />

des Agenten und<br />

die Möglichkeit, Klassen dynamisch zu<br />

verändern, interessant. Die Technologie<br />

www.javamagazin.de<br />

Abb.1: <strong>Java</strong><br />

Management Layer<br />

ermöglicht zum Beispiel das Entfernen<br />

und Hinzufügen von Messpunkten zur<br />

Laufzeit.<br />

<strong>Java</strong> Management Extension (JMX)<br />

Neben den Laufzeitinformationen, die<br />

über die Bytecode-Instrumentierung erzeugt<br />

werden, sind für das Monitoring von<br />

Anwendungen vor allem auch Informationen<br />

über die Infrastrukturkomponenten<br />

notwendig. Hierzu zählen auf der untersten<br />

Ebene Informationen der JVM, wie<br />

Heap-Statistiken oder Thread Informationen.<br />

Bei <strong>Java</strong> EE ist aber auch die Auslastung<br />

der Application-Server-Ressourcen<br />

notwendig, um <strong>Performance</strong>-Engpässe<br />

Sonderdruck<br />

identifizieren zu können. Beispielsweise<br />

können zu klein gewählte Thread- und<br />

Datenbank-Connectionpools dazu<br />

führen, dass Benutzeranfragen in einer<br />

Warteschlange landen und sich die Verarbeitung<br />

verzögert. Aber auch Statistiken<br />

von Caches aus eigenen Komponenten<br />

oder Frameworks wie Hibernate [5] sind<br />

von Bedeutung, wenn ein Bottleneck in<br />

einer Anwendung gefunden oder Ressourcen-Engpässe<br />

in Produktion frühzeitig<br />

identifiziert werden sollen. Mit der <strong>Java</strong><br />

Management Extension (JMX) steht eine<br />

ausgereifte Spezifikation zur Verfügung,<br />

die eine Überwachung von Applikationen<br />

und Services einfach möglich macht.<br />

TM<br />

Das neue Portal für <strong>Java</strong>, Enterprise Architekturen , SOA.<br />

Anzeige<br />

NEU!<br />

Sonderdruck<br />

www.jaxenter.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!