Automatische Diagnose von Performanceproblemen in Datenbankmanagementsystemen Präsentation im Rahmen des Datenbankseminars zum Thema: „Aktuelle Themen.

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Vorgehensmodell & Wasserfallmodell in der Programmierung
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Graphen- und spieltheoretische Untersuchung sowie ökonomische Experimente zum Verhalten von Verkehrsteilnehmern von Gerd Meinhold Betreuer: Prof. Dr. Bernd.
Das „Vorgehensmodell“
Wasserfall-Ansätze zur Bildsegmentierung
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Spielbäume Richard Göbel.
Java: Objektorientierte Programmierung
Motivation Richard Göbel.
Effizienz: Indexstrukturen
Baumstrukturen Richard Göbel.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Union-Find-Strukturen
Algorithmen und Datenstrukturen
Konfidenzintervalle für Parameter
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Seminar parallele Programmierung SS 2003
Klausur „Diskrete Mathematik II“
CBT April 2003 Alexander HörnleinModelle für die Generierung von Folgesitzungen zurTherapieüberwachung in fallbasierten Trainingssystemen 0 Alexander.
Intelligent self-adaptation of user interface complexity in a case-based medical training system Alexander Hörnlein, Frank Puppe.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Was sind Histogramme? (1)
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Recovery AIFB SS (1/8) Sicherungspunkte (Checkpoints) (1/8) (1) Transaktions-Orientierte Sicherungspunkte Transaction-Oriented Checkpoint.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr.
Maschinelles Lernen und automatische Textklassifikation
Berliner Rahmenpläne Informatik für die Sekundarstufe I
Evaluierung des ITU-T.124 Telekonferenzstandards
Spezifikation von Anforderungen
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
? Was ist Informatik? Was ist Informatik? Alexander Lange
Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.
2. Die rekursive Datenstruktur Baum 2
Datenbank.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Shape Similarity 27. Februar 2006 Michael Keller.
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
UML-Kurzüberblick Peter Brusten.
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Das Traveling Salesman Problem (TSP)
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Analyse der Laufzeit von Algorithmen
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Niko Zenker1 Besondere Aspekte in Multimedia-Datenbanken Methoden zur iterativen Anfrageverfeinerung (Relevanz Feedback)
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #1 Datenmanagement.
Algorithmen und Datenstrukturen
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Performanz- und Lasttests Formale Methoden
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
CL Tree MW 31.1 Business Intelligence Wintersemester 2015 / 2016 Stanislav Prokupetz.
C4 Projektstrukturplan (engl. work breakdown structure)
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

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

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

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 !

Motivation Was ist Tuning? Diagnose Ressourcenverwaltung (Externe Faktoren)

Diagnosebaum + Ressourcenbaum 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.

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

2. Problembeschreibung und Grundlagen 2.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

2. Problembeschreibung und Grundlagen 2.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

2. Problembeschreibung und Grundlagen 2.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 !

2. Problembeschreibung und Grundlagen 2.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

2. Problembeschreibung und Grundlagen 2.2 Optimierung „Optimierung ist eine Technik zur Kalkulation der bestmöglichen Ressourcenauslastung, die notwendig ist, um ein vorgegebenes Ergebnis zu erreichen.“

2. Problembeschreibung und Grundlagen 2.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!

2. Problembeschreibung und Grundlagen 2.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!

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

3. Modelle zur Diagnose des DBMS 3.1 Das Ressourcenmodell Modell beschreibt die Beziehungen zwischen den einzelnen Ressourcen Bildet diese Beziehungen im Ressourcenbaum ab

3. Modelle zur Diagnose des DBMS 3.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

3. Modelle zur Diagnose des DBMS 3.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 >

3. Modelle zur Diagnose des DBMS 3.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

3. Modelle zur Diagnose des DBMS 3.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

3. Modelle zur Diagnose des DBMS 3.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

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

3. Modelle zur Diagnose des DBMS 3.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>>}

3. Modelle zur Diagnose des DBMS 3.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

3. Modelle zur Diagnose des DBMS 3.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

3. Modelle zur Diagnose des DBMS 3.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 !

4. Das Diagnosesystem 4.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

4. Das Diagnosesystem 4.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

4. Das Diagnosesystem 4.1 Grundlegendes zum Diagnosebaum Beispiel: D1 Buffer Pool Hit Rate > 90% ? 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? … …

4. Das Diagnosesystem 4.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.

4. Das Diagnosesystem 4.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

4. Das Diagnosesystem 4.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)

4. Das Diagnosesystem 4.2 Der verbesserte Diagnosebaum Tunen des Diagnosebaumes am Beispiel der Ressource „Number of I/O-Cleaners“

4. Das Diagnosesystem 4.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

4. Das Diagnosesystem 4.2 Der verbesserte Diagnosebaum Beispiel: yes D1 Lock Escalations? no 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 …

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

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