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