Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im...
-
Upload
irmingild-ahles -
Category
Documents
-
view
103 -
download
1
Transcript of Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im...
![Page 1: Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: Aktuelle Themen der.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/1.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/2.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/3.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/4.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/5.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/6.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/7.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/8.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/9.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/10.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/11.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/12.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/13.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/14.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/15.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/16.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/17.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/18.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/19.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/20.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/21.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/22.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/23.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/24.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/25.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/26.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/27.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/28.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/29.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/30.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/31.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/32.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/33.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/34.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/35.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6149795902118b58c4/html5/thumbnails/36.jpg)
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