Performanceanalyse
- Benchmarking:
- vergleicht mehrere Alternativen in Bezug auf Laufzeiten oder andere Kriterien wie Speicherverbrauch. Ziel ist die Auswahl einer
- Micro-Benchmarking: Vergleich einzelner Algorithmen,
- Marcro-Benchmarking: Vergleich ganzer Systemkomponenten oder Frameworks
[Kraft2005]
Wikipedia
Standard Performance Evaluation Corporation befaßt sich damit.
- Profiling:
- Untersuchung einer Anwendung auf Performance-Schwachstellen oder Speicherlöcher. Ziel ist die Behebung eines Probeles oder die Verbesserung(white Box) [Kraft2005]
Wikipedia über Profiler
- Monitoring:
- Untersuchung am fertigen Systems von einem Administrator zur Identifikation von Auffälligkeiten (BackBox). [Kraft2005]
- Tracing von Ereignissen
- Die Ablaufverfolgung kann sowohl zum Monitoring als auch zum detailierten Profiling verwendet werden. Insbesondere können konkrete Bezüge zu Anwendungensereignissen hergestellt werden.
Beim Profiling dürfen intensiv Daten erhoben werden, dies ist beim Monitoring nicht erwünscht. Beim Profiling kann geht man bis ins Detail, z.B. welchen Anteil hat die Funktion xy, Beim Monitoring beobachtet man z.B. nur die CPU-Auslastung.
Kategorien bei Profiler: [Kraft2005]
- Art der Messung
-
- Laufzeit / Anteil
- Speicherverbrauch
- Koordinierungsproblemanalyse
- Datenauslieferung
-
- Nach der Laufzeit: PostMortem
- Interaktiv
- Datenerhebung
-
- Instrumentierung: Modifikation des Binärcodes für Zeitmessung usw.
- Anzapfung der Ablaufumgebung (z.B. Profilingschnittstellen JVMPI/JVMTI in der Java virtual Mashine).
- Hardwaremonitore: Profilingschnittstellen in Hardware eingebaut, z.B. spezielle Register
Konkrete Systeme:
Literatur und Links
- [Kraft2005] Klaus Kraft, Angelika Langner: "Java Performance Teil3: Wie funktionieren Profiling-Tools?" in Java Spectum 6/2005
Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber