Download Performance-Modellierung und Simulation eines SAP

Transcript
LQN-Modell
128
Implementierung variieren (Libic/Tuma/Buley 2009). Beispielsweise unterscheiden sich die
Algorithmen bei der Verwaltung der Young- und der Tenured-Generation (siehe auch Kapitel 3.1.5).
Unabhängig von der verwendeten Implementierung werden bei einem GC-Lauf die Applikations-Threads gestoppt. Dieser Zeitabschnitt wird auch als Stop-the-World-Pause bezeichnet.
Daher kann eine übermäßige Aktivität des Garbage-Collectors zu hohen Antwortzeiten, ineffizienter CPU-Nutzung und Speicherauslagerung („Paging“) führen. Daraus resultieren zwei
Leistungsindikatoren, die die Aktivitätsintensität des Garbage-Collectors beschreiben: zum
einen die durchschnittliche Dauer, in der die Applikations-Threads blockiert sind, zum anderen das durchschnittliche Intervall von einem bis zum nächsten GC-Lauf (vgl.
Cheng/Morrison 2007).
Die aufgezeichneten Messwerte des funktionalen Traces im SAP-System geben keinen Aufschluss über die GC-Zeiten. Daher ist in den angegebenen Zeiten implizit die Zeit enthalten,
in der der Applikations-Thread aufgrund eines GC-Laufes nicht fortgesetzt werden konnte.
Diese Tatsache führt bei der Modellentwicklung dazu, dass in der ersten Iteration auf eine
explizite Modellierung des Garbage-Collectors verzichtet wird.
Zudem ist es mit den Mitteln der LQNs nicht möglich, das Verhalten des Garbage-Collectors
identisch nachzubilden. Dies liegt zum einen an der stochastischen Natur von LQNs, zum
anderen an den fehlenden Detailkenntnissen der GC-Implementierung (Ufimtsev 2006, 92).
Die zwei Indikatoren zur Aktivitätsintensität (GC-Dauer und GC-Intervall) lassen sich jedoch
über den GC-Trace und die bereitgestellten Analysetools, die in Kapitel 3.2.6 dargestellt wurden, ermitteln.
Bei der Auswertung der Simulations- und Messergebnisse, die in Kapitel 5.7 beschrieben
wird, kann im Hochlastbereich ein starker Anstieg der Antwortzeiten festgestellt werden. Die
Ursachenanalyse ergibt eine sehr hohe Aktivitätsintensität des Garbage-Collectors, die den
übermäßigen Anstieg der Antwortzeiten erklären kann. Damit die Auswirkungen auf die
Antwortzeit im Modell getestet werden können, wird in einer zweiten Iteration eine GCKomponente eingebaut (siehe Abbildung 4-13), die die Angabe der beiden Aktivitätsindizes
GC-Dauer und GC-Intervall als Parameter erlaubt.
GC-Aktivitäten
(Kapitel 5.8)
Messen
Evaluieren
Modellieren
GC-Komponenten
(Kapitel 4.2.6)
Simulieren
Abbildung 4-13: Zweiter Zyklus der Modellbildung
Quelle: eigene Darstellung