Beschreibung
Die Analyse und Optimierung der Performance unternehmenskritischer Java-Applikationen im Enterprise-Umfeld stellt eine wichtige Aufgabe und zugleich eine hohe Herausforderung dar. In diesem Seminar erläutern wir die unterschiedlichen Bereiche der Performance-Analyse anhand eines Schichtenmodells vom Betriebssystem über die Java Virtual Machine bis hin zum Quellcode. Performance-relevante Aspekte der Java Virtual Machine, insbesondere die Garbage Collection, werden erläutert und Konfigurations-Parameter vorgestellt.
Außerdem beleuchten wir Faktoren der Performance bei verteilten Systemen wie z.B. einer Microservice-Architektur.
Inhalte
-----------
- Einführung und Konzepte: Performance Grundlagen, Strategien und Techniken, Java Virtual Machine
- Monitoring- und Profiling-Tools: Monitoring versus Profiling, Schichtenmodell der Performance-Analyse
- Betriebssystem-Tools: JVM-Tools, Java-Profiler
- JVM: Garbage Collection: Speicherbereiche und Generationen, Garbage Collection Algorithmen auf der Young und Old Generation, G1 (Garbage First) Garbage Collection, Monitoring des Garbage Collectors, Tuning der JVM
- Tuning der Applikation: Praxistipps für optimierten Code, Micro Benchmarking, Minimierung des Speicherverbrauchs durch Object Pools, Memory Leaks, WeakReference, OutOfMemory-Analyse
- Multithreading: Auswirkungen von Synchronisation, Dead-Locks vermeiden und finden
- Tuning von verteilten Systemen: Enterprise-Architekturen , Performance Faktoren: Application Server, Microservices, Datenbank