1 / 36

Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen

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 Jena Fakultät für Mathematik und Informatik

kyna
Download Presentation

Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Jena Fakultät für Mathematik und Informatik Lehrstuhl für Datenbanken und Informationssysteme Gehalten von Christian Stützer

  2. Inhaltliche Gliederung • Motivation • Problembeschreibung und Grundlagen • Diagnose • Optimierung • Modelle zur Diagnose des DBMS • Das Ressourcenmodell • Das Workloadmodell • Das Diagnosesystem • Grundlegendes zum Diagnosebaum • Der verbesserte Diagnosebaum • Auswertung und Schlusswort

  3. 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 !

  4. Motivation Was ist Tuning? • Diagnose • Ressourcenverwaltung • (Externe Faktoren)

  5. 1. Motivation Ablauf des gesamten Tuningprozess: DBMS-Dokumentation Expertenwissen Diagnosebaum + Ressourcenbaum Ressourcenliste Tuning-Algorithmus Zu tunende Ressource Performance-Monitor Performancedaten Zustand = getuned ??? ja nein END.

  6. 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“ inProceedings of the Computer Measurement Group“, 1999

  7. 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

  8. 2. Problembeschreibung und Grundlagen2.1 Diagnose • Beispiel eines Regelbasierenden Entscheidungsbaumes zur Bestimmung des Urlaubsziels Wurzel Kosten > 500€ ? nein ja Angebot für Ausflüge ? Erholungsfaktor ? Knoten niedrig hoch niedrig hoch Bulgarien Türkei Frankreich Karibik Blätter

  9. 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 !

  10. 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

  11. 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.“

  12. 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!

  13. 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!

  14. 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

  15. 3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell • Modell beschreibt die Beziehungen zwischen den einzelnen Ressourcen • Bildet diese Beziehungen im Ressourcenbaum ab

  16. 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

  17. 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 >

  18. 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

  19. 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

  20. 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

  21. 3. Modelle zur Diagnose des DBMS3.1 Das Ressourcenmodell Beispiel eines Reverse Ressourcenbaum: Buffer Pool Size (BPS) Number of I/O-Cleaners (NOI) Changed Pages Threshold (CPT)

  22. 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>>}

  23. 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

  24. 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

  25. 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 !

  26. 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

  27. 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

  28. 4. Das Diagnosesystem4.1 Grundlegendes zum Diagnosebaum D1 Buffer Pool Hit Rate > 90% ? Beispiel: yes no D2 Async. Writes > 95% yes no T1 Tune the Buffer Pools D3 Average Lock Wait Time High? (>1000) T2 Fix Number of I/O Cleaners yes no D4 Lock Escalations? D5 Sortheap Overflows? … …

  29. 4. Das Diagnosesystem4.1 Grundlegendes zum Diagnosebaum (Exakter) Ablauf des Diagnosesystems: Durchlaufen des Diagnosebaums Ressourcenliste Ressourcenbaum Erweiterte/ gekürzte Ressourcenliste Tuning-Algorithmus Zu tunende Ressource System ändert Ressourcenparameter Performance-Monitor Performancedaten Zustand = getuned ??? ja nein END.

  30. 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

  31. 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)

  32. 4. Das Diagnosesystem4.2 Der verbesserte Diagnosebaum • Tunen des Diagnosebaumes am Beispiel der Ressource „Number of I/O-Cleaners“

  33. 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

  34. 4. Das Diagnosesystem4.2 Der verbesserte Diagnosebaum yes D1 Lock Escalations? no • Beispiel: D3 Buffer Pool Hit Rate > 90% ? D2 Locklist in Use = Locklist size? (90%)? yes no yes no T2 Increase Locklist size T3 Fix Number of I/O Cleaners D4 Async. Writes > 95% T4 Tune the Buffer Pools no yes D5 Average Lock Wait Time High? (>1000) T5 Fix Number of I/O Cleaners …

  35. 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

  36. 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

More Related