automatische diagnose von performanceproblemen in datenbankmanagementsystemen präsentation im...

36
Automatische Diagnose von Performanceproblemen in Datenbankmanagementsyste men Präsentation im Rahmen des Datenbankseminars zum Thema: „Aktuelle Themen der DB-Forschung und –Entwicklung“ Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Lehrstuhl für Datenbanken und Informationssysteme Gehalten von Christian Stützer

Upload: irmingild-ahles

Post on 05-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen

Präsentation im Rahmen des Datenbankseminars zum Thema: „Aktuelle Themen der DB-Forschung

und –Entwicklung“

Friedrich-Schiller-Universität JenaFakultät für Mathematik und Informatik

Lehrstuhl für Datenbanken und Informationssysteme

Gehalten von Christian Stützer

Page 2: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

Inhaltliche Gliederung

1. Motivation2. Problembeschreibung und Grundlagen

1. Diagnose2. Optimierung

3. Modelle zur Diagnose des DBMS1. Das Ressourcenmodell2. Das Workloadmodell

4. Das Diagnosesystem1. Grundlegendes zum Diagnosebaum2. Der verbesserte Diagnosebaum

5. Auswertung und Schlusswort

Page 3: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

1. Motivation Ständig größer werdende Datenbanken Admins (DBA) „kämpfen“ mit immer mehr

Einstellungsparametern um Performance garantieren zu können ( wachsender Zeitaufwand)

Fehlende finanzielle Mittel

Automatisches Tuning spart Zeit und Kosten !

Page 4: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

1. Motivation

Was ist Tuning? Diagnose Ressourcenverwaltung (Externe Faktoren)

Page 5: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

1. Motivation

Ablauf des gesamten Tuningprozess:

Expertenwissen DBMS-Dokumentation

Diagnosebaum + Ressourcenbaum

Tuning-Algorithmus

Performance-Monitor

Ressourcenliste

Zu tunende Ressource

Zustand = getuned ???Performancedaten

END.ja nein

Page 6: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

1. Motivation

Vorhandene Ansätze: Chaudhuri und Weikum: „Rethinking

Database System Architecture“ in „Proceedings of the 26th International Conference on Very Large Databases“, 2000

Hellerstein: „Automated Tuning Systems“ in „Proceedings of the 1997 Computer Measurement Group“, 1997

Hart et al: „An Approach To Automated Problem Isolation For Performance Management“ in Proceedings of the Computer Measurement Group“, 1999

Page 7: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

2. Problembeschreibung und Grundlagen2.1 Diagnose

Diagnose = Finden der Ressourcen mit „schlechter“ Performance

Zwei verschiedene Diagnosesysteme:1.) Regelbasierende Diagnose

Informationen aus Expertenbefragung Erstellen eines Entscheidungsbaumes Durchlaufen des Baumes m.H. von Regeln und Fakten

Page 8: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

2. Problembeschreibung und Grundlagen2.1 Diagnose

Beispiel eines Regelbasierenden Entscheidungsbaumes zur Bestimmung des Urlaubsziels

Kosten > 500€ ?

Angebot für Ausflüge ?

nein

Erholungsfaktor ?

Bulgarien Türkei Frankreich Karibik

niedrig hochniedrig hoch

Wurzel

Knoten

Blätter

ja

Page 9: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

2. Problembeschreibung und Grundlagen2.1 Diagnose

2.) Modellbasierte Diagnose Abbildung des Systems auf ein Modell Modell soll die Fehler des Systems aufzeigen Primäre Anwendung: Stromkreise Problem bei DBMS:

Zusammenhänge im DBMS hoch komplex und zu ungenau erforscht

Zur Diagnose eines DBMS eher ungeeignet !

Page 10: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

2. Problembeschreibung und Grundlagen2.1 Diagnose

Wie wird Performance gemessen? Standardisierte DB-Benchmarks:

Vorgabe durch Transaction Processing Performance Council (TPC)

Wichtigstes Benchmark: TPC-C Erzeugt 5 Transaktionstypen in Form eines OLTP-

Workload Performancemaß = Transactions per Minute (tpmC)

Weitere Benchmarks: TPC-H (auf OLAP basierend), TPC-R und TPC-W

Page 11: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

2. Problembeschreibung und Grundlagen2.2 Optimierung

„Optimierung ist eine Technik zur Kalkulation der bestmöglichen Ressourcenauslastung, die notwendig

ist, um ein vorgegebenes Ergebnis zu erreichen.“

Page 12: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

2. Problembeschreibung und Grundlagen2.2 Optimierung

Anwendung von Optimierungsmethoden auf das Diagnoseproblem:

Allgemeine Optimierung zu aufwendig! Modell der Linearen Programmierung zu zeitintensiv! Fallbasierende Argumentation einschränkende

Annahmen widersprechen DBMS-Performanceproblemen! Expertensysteme sehr umfangreiches Regelsystem!

Page 13: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

2. Problembeschreibung und Grundlagen2.2 Optimierung

Welchen Nutzen können wir nun aus den vorhandenen Modellierungsmethoden ziehen???

Verwendung des Ansatzes eines Expertensystems Regeln für die Diagnose der Ressourcen erstellen

Regelbasierenden Entscheidungsbaum (=Diagnosebaum) zur automatischen Diagnose verwenden!

Page 14: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS

Grundlegende Annahmen:

Hardware- und Softwareressourcen sind begrenzt

DBMS-Performance ist abhängig von den DBMS-Ressourcen

Hardware arbeitet einwandfrei

Page 15: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Modell beschreibt die Beziehungen zwischen den einzelnen Ressourcen

Bildet diese Beziehungen im Ressourcenbaum ab

Page 16: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Was sind Ressourcen? Definition:

„Ressourcen sind Objekte auf die das DBMS zurückgreift und deren Umfang, Betrag eingestellt werden kann.“

Unterscheidung von Physischen Ressourcen Logischen Ressourcen

Page 17: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Ressource wird beschrieben durch folgende Attribute:

Auswirkung auf die Performance I є {high,medium, low}

Zugelassener Bereich A = „set“ Default Wert D = „Wert“ Marker Wert M = < mname,mvalue >

Einstellungswert S = < sname,svalue>

Darstellung als Tupel:

R = < M, I, < S, A >, D >

Page 18: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Beispiel:Anzahl der I/O-Cleaner

R M I

num_iocleaners= <<%of async writes; 95>; HIGH; <<num_iocleaners; 10>;

<0-255>>; 1> S A

D

Page 19: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Wie werden die Beziehungen zwischen den Ressourcen dargestellt?

Änderung der Einstellungen einer Ressource hat meist Einfluss auf die Performance einer Anderen

Darstellung dieser Abhängigkeiten durch (gerichtete) Kanten

Beispiel:

Buffer Pool Size (BPS)

Changed Pages Threshold (CPT) Number of I/O-Cleaners (NOI)

= Ressourcenmodell bzw. (forward) Ressourcenbaum

Page 20: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Forward Ressourcenbaum: Zeigt Einfluss einer Ressource auf eine Andere (wie

gesehen) Direkte Nachfolger eines Knotens werden direkt

beeinträchtigt

Reverse Ressourcenbaum: Direkte Nachfolger haben einen direkten Einfluss auf

den Vorgänger Vorteil: Ermittlung der Ressource mit schlechter

Performance

Page 21: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Beispiel eines Reverse Ressourcenbaum:

Buffer Pool Size (BPS)

Changed Pages Threshold (CPT)

Number of I/O-Cleaners (NOI)

Page 22: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell

Formale Darstellung des Ressourcenmodells:

RM = {<R,<E>>}mit Ressource R und Menge von möglicher Beziehungen E

Beispiel: RM = {<Bufferpoolsize; <ECPT,ENIO>>}

Page 23: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.2 Das Workloadmodell

Dient dem konkreten Auffinden von Performanceengpässen und beschreibt den Workloadtyp

Wichtiger Teil des Diagnosesystems Drei verschiedene Workloadtypen:

On-Line Analytical Processing (OLAP) On-Line Transaction Processing (OLTP) Mixture

Page 24: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.2 Das Workloadmodell

Modell zur Beschreibung der verschiedenen Workloadtypen: W = {<N; H; I>}

Ressource N = {N1;N2;…;Nm} Threshold (Grenz-) Wert H = {H1;H2;…;Hn} Indicator (beobachteter) Wert I = {I1;I2;…;In}

Engpass wird durch Abweichung zwischen Indiactor- und Threshold-Wert erkannt

Page 25: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

3. Modelle zur Diagnose des DBMS3.2 Das Workloadmodell

Wie trägt das Workloadmodell zur Diagnose bei?

Im Diagnosebaum (regelbasierender Entscheidungsbaum) wird in jedem Konten eine Entscheidung m.H. des Workloadmodells getroffen!

Workloadmodell liefert die Fakten zur Entscheidung im Diagnosebaum !

Page 26: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.1 Grundlegendes zum Diagnosebaum

Ziel des Diagnosebaumes = Erzeugen einer Liste der zu tunenden Ressourcen

Geschieht durch Zusammenspiel zwischen Workloadmodell und Diagnoseregeln

Diagnoseregeln erstellen Entscheidungssituation Workloadmodell zeigt Engpässe auf und bestimmt

den Weg durch den Diagnosebaum Ressourcenmodell gibt in Verbindung stehende

Ressourcen an

Page 27: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.1 Grundlegendes zum Diagnosebaum

Aufbau des Diagnosebaums: Knoten = Entscheidungsknoten (Di)

Informationen aus Expertenbefragungen oder eigenen Test

Blätter = Tuningknoten (Ti) Welche Ressource soll getuned werden?

Reihenfolge, nach der die Ressourcen betrachtet werden wird durch Diagnosebaum beschrieben

Page 28: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.1 Grundlegendes zum Diagnosebaum

Beispiel: D1Buffer Pool Hit Rate

> 90% ?

T1Tune the Buffer Pools

D2Async. Writes

> 95%

T2Fix Number of I/O Cleaners

D3Average Lock Wait

Time High? (>1000)

D4Lock Escalations?

D5Sortheap Overflows?

… …

yes no

yes

yes

no

no

Page 29: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.1 Grundlegendes zum Diagnosebaum

(Exakter) Ablauf des Diagnosesystems:Durchlaufen des Diagnosebaums

Tuning-Algorithmus

Performance-Monitor

Ressourcenliste

Zu tunende Ressource

Zustand = getuned ???Performancedaten

END.ja nein

Ressourcenbaum Erweiterte/ gekürzte Ressourcenliste

System ändert Ressourcenparameter

Page 30: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.1 Grundlegendes zum Diagnosebaum

Initialisieren des Diagnosebaums: Nutzen der Informationen über Ressourcen

aus DBMS-Dokumentation oder von Experten (DBAs)

In DB2 kann der „Performance-Tuning-Wizard“ genutzt werden

Threshold-Werte werden durch Tests gewonnen

Threshold-Werte sehr wichtig, da bei falschen Werten falsche Diagnosen entstehen können

Page 31: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.2 Der verbesserte Diagnosebaum

Ziel: Finden der besten möglichen Threshold-Werte

Vorgehen: Änderung der Einstellungen (Setting-Wert) jeweils

einer Ressource Vorgehen nach vorher bestimmter Politik Vergleich der Benchmarkergebnisse (TPC-C)

Page 32: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.2 Der verbesserte Diagnosebaum

Tunen des Diagnosebaumes am Beispiel der Ressource „Number of I/O-Cleaners“

Page 33: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.2 Der verbesserte Diagnosebaum

Unterschiede zum initialisierten Diagnosebaum:

„Bessere“ Threshold-Werte Eliminierung von Ressourcen ohne signifikanten

Einfluss auf die Performance Wurzel fragt nach Lock-Escalations

Page 34: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

4. Das Diagnosesystem4.2 Der verbesserte Diagnosebaum

Beispiel: D1Lock Escalations?

T4Tune the Buffer Pools

D4Async. Writes

> 95%

T5Fix Number of I/O Cleaners

D5Average Lock Wait

Time High? (>1000)

D3Buffer Pool Hit Rate

> 90% ?

D2Locklist in Use =

Locklist size? (90%)?

T3Fix Number of I/O Cleaners

T2Increase Locklist size

no

no no

no

yes

yes

yes

yes

Page 35: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

5. Auswertung und Schlusswort

Probleme in der Praxis: Regelmäßige Veränderung des Workload Reverse Ressorcenbaum und verbesserter

Diagnosebaum müssen „per Hand“ erzeugt werden

Nicht alle DBMS unterstützten dynamische Einstellung der Ressourcen

Performanceprobleme lassen sich nicht immer exakt auf eine Ressource zurückführen

Page 36: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der

5. Auswertung und Schlusswort

Zur Realisation der automatischen Diagnose sind weitere Forschungen und Entwicklungen in folgenden Beereichen notwendig:

Dynamische Ressourceneinstellungen in DBMS Intelligente Tuning-Algorithmen Implementierung des Diagnosesystems in ein DBMS