Lastprofile für mehrere Datenbanken          auf einem Server   Lastprofile für mehrere Datenbanken auf einem Server   © O...
Lastprofile für mehrereDatenbanken auf einem ServerThorsten BruhnsSeniorberaterOPITZ CONSULTING Bad Homburg GmbHDOAG SIG D...
OPITZ CONSULTING – wer sind wir?Märkte                   Kunden                                               Leistungs-  ...
Agenda1.   Wofür Performanceauswertung?2.   Statspack als Datensammler3.   Was ist RRD?4.   Wie spielt das zusammen?5.   Z...
1   Wofür Performanceauswertung?        Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING GmbH 201...
Wofür Performanceauswertung? Warum hat der Server keine freien Resourcen mehr? Sizing der Hardware   CPU   Memory   F...
Wofür Performanceauswertung? Lastprofil eines Servers ermitteln   Wer verursacht wann Last?   Kostenmodell nach Last W...
Methoden zur Datensammlung Tools für die OS-Ebene     top     sar     iostat     mpstat     …     Tools sind nicht ...
Probleme bei der Auswertung Vergleichbarkeit der Daten   Z. B. Formatierung sar/iostat OS abhängig   Windows  Unix Au...
Gibt es eine Lösung? Bedingungen   plattformunabhängig     Einheitliche Tools für alle Betriebssysteme   clusterfähig ...
Gibt es eine Lösung? Konzept     Datensammler pro Instanz     Export der Daten in Textform     Import der Daten auf ex...
2   Statspack als Datensammler        Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING GmbH 2011 ...
Warum Statspack? Vorteile   Kostenloses Tools zur Sammlung von Performancedaten     AWR ist hier nicht geeignet, da ers...
Wieso Statspack? Nachteile   Platzbedarf, da Daten relational abgelegt werden     Kann durch kurze Purge-Zeit und entsp...
Wieso export in Textform? Vorteile     Einfache SQLs zum Export der Daten     Individuell erweiterbar     Einfacher Tr...
Wieso export in Textform? Nachteile   Overhead     direktes Lesen per SQL mit anschließendem Import in RRD wäre möglich...
Was wird denn exportiert? Performancedaten pro Snapshot   Snap-Interval bestimmt die kleinste Granularität     Stündlic...
3   Was ist RRD?        Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING GmbH 2011   Seite 18
Was ist RRD RRD steht für ‚Round-Robin-Database‘   Autor: Tobias Oetiker   http://oss.oetiker.ch/rrdtool   Lizenz: Gnu...
Was ist RRD Umfangreiches Reporting   Erstellung von Graphen aus mehreren Datenbanken   u. a. Linien-, Balkendiagramme ...
4   Wie sieht das in der Praxis aus?         Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING Gmb...
Wie sieht das in der Praxis aus? Sammlung der Daten mittels Statspack   Automatisch mittels dbms_job   Purge alter Date...
Wie sieht das in der Praxis aus? RRDs erzeugen (nur einmalig erforderlich!)      rrdtool create datenbankname           ...
Wie sieht das in der Praxis aus? Beispiel SQL für stat$sys_time_model   select   lower(vd.name)||:||lower(s.sname)||_||s....
Wie sieht das in der Praxis aus?   Beispielausgabe vom SQL-Statement    rrdtool update aim10/db_cpu_1.rrd                ...
Wie sieht das in der Praxis aus?   Ergebnisgrafik einer RRD                 Lastprofile für mehrere Datenbanken auf einem...
Wie sieht das in der Praxis aus?          Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING GmbH 2...
Wie sieht das in der Praxis aus?          Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING GmbH 2...
5   Zukunftsvisionen        Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING GmbH 2011   Seite 29
Zukunftsvisionen Bisher in zwei Projekten erfolgreich eingesetzt   1. Projekt: RAC-Cluster zwei Knoten sechs Datenbanken...
Zukunftsvisionen Bessere Visualisierung   Ggf. ddraw durch Skripte ablösen   Falls vorhanden: Einbindung in Cacti oder ...
Fragen und Antworten         Lastprofile für mehrere Datenbanken auf einem Server   © OPITZ CONSULTING GmbH 2011   Seite 32
KontaktThorsten BruhnsSeniorberaterOPITZ CONSULTING Bad Homburg GmbHKaiser-Friedrich-Promenade 9151647 Bad HomburgTel. +49...
Nächste SlideShare
Wird geladen in …5
×

Lastprofile für mehrere Datenbanken auf einem Server - DOAG SIG Database 2011- OPITZ CONSULTING - Thorsten Bruhns

1.032 Aufrufe

Veröffentlicht am

Wie häufig wurde die Frage gestellt, wie viel Last eigentlich die einzelnen Datenbanken auf einen Server verursachen? Häufig wird diese Frage mit der Frage nach einem Lasprofil kombiniert.
Dieser Vortrag wird aufzeigen, wie mit Hilfe von exportierten Statspack-Daten, Performance- und Trendanalysen von Datenbanken erstellt werden können. Die Aufbereitung der exportierten Daten erfolgt mit Hilfe der RRD (Round Robin Database), die aus dem GPL-Bereich kommt und dort zur zeitbezogenen Speicherung von Meßdaten dient. Diese Daten können mit Hilfe der RRDTools visualiert dargestellt und optional über die Zeit aggregiert werden.
Mit dieser Methode wird erläutert, wie nur aus Statspack-Daten einfach Lastprofile erstellt werden können ohne dabei weitere Betriebssystemtools zu benötigen, was insbesondere in homogenen Umfeldern aufgrund der unterschiedlichen Tools und deren Ausgabeformate sehr kompliziert werden würde.
Es können zudem RRD-Daten von mehreren Datenbank zusammen gefaßt werden. So kann einerseits aufgezeigt werden, wie sich die Last zwischen Datenbanken auf einem Server verteilt oder es kann dargestellt werden, wie viel Last eine Datenbank im Clusterverbund erzeugt. OPITZ CONSULTING Seniorberater Thorsten Bruhns hielt diesen Vortrag bei der DOAG SIG Database am 24.02.2011 in Essen.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.032
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Lastprofile für mehrere Datenbanken auf einem Server - DOAG SIG Database 2011- OPITZ CONSULTING - Thorsten Bruhns

  1. 1. Lastprofile für mehrere Datenbanken auf einem Server Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 1
  2. 2. Lastprofile für mehrereDatenbanken auf einem ServerThorsten BruhnsSeniorberaterOPITZ CONSULTING Bad Homburg GmbHDOAG SIG Database, Essen, 24. Februar 2011 Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 2
  3. 3. OPITZ CONSULTING – wer sind wir?Märkte Kunden Leistungs- Fakten angebotJava Branchen- IT-Strategie Gründung 1990SOA übergreifend Beratung 400 MitarbeiterORACLE Über 600 Implementierung 8 Standorte inBI/DWH Kunden Betrieb D/PL/CHOuttasking Training Industrie / Versorger / Handel / Logistik / Telekommunikation Dienstleistungen 29% 29% 42% Öffentliche Auftraggeber / Banken & Versicherungen / Vereine & Verbände Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 3
  4. 4. Agenda1. Wofür Performanceauswertung?2. Statspack als Datensammler3. Was ist RRD?4. Wie spielt das zusammen?5. Zukunftsvisionen Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 4
  5. 5. 1 Wofür Performanceauswertung? Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 5
  6. 6. Wofür Performanceauswertung? Warum hat der Server keine freien Resourcen mehr? Sizing der Hardware  CPU  Memory  Festplattenspeicher Migration auf neue Hardware  Ist eine ausreichende Zukunftssicherheit gewährleistet?  Kann die geplante Hardware über den notwendigen Zeitraum genutzt werden? Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 6
  7. 7. Wofür Performanceauswertung? Lastprofil eines Servers ermitteln  Wer verursacht wann Last?  Kostenmodell nach Last Wer verursacht wie viel Last?  Lastabhängige Kostenaufteilung  Z.B. Eine DB verursacht 75% der Last, zahlt aber nur 10% der Kosten Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 7
  8. 8. Methoden zur Datensammlung Tools für die OS-Ebene  top  sar  iostat  mpstat  …  Tools sind nicht auf jedem OS verfügbar  insb. Unix  Windows problematisch Tools für Oracle Datenbanken  AWR (lizenzpflichtig!)  Statspack  Extended SQL-Trace  utlbstat/utlestat Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 8
  9. 9. Probleme bei der Auswertung Vergleichbarkeit der Daten  Z. B. Formatierung sar/iostat OS abhängig  Windows  Unix Auswertbarkeit  SQL-Trace ist extrem aufwendig  Diverse Ad-hoc-Tools (z. B. top) bieten nur eine Momentaufnahme  Formatierung sehr unterschiedlich  Performanceauswertung von RAC-Clustern mit mehr als eine Datenbank  … Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 9
  10. 10. Gibt es eine Lösung? Bedingungen  plattformunabhängig  Einheitliche Tools für alle Betriebssysteme  clusterfähig  Lastprofil von Datenbanken auf mehreren Clusterknoten muß erstellbar sein  Keine Lasterzeugung während der Auswertung  Möglichst Langzeitbetrachtung über Monate  Visualisierung der Ergebnisse  ‚managementtaugliche‘ Darstellung  Geringer Implementierungsaufwand  Möglichst kostenlose Tools Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 10
  11. 11. Gibt es eine Lösung? Konzept  Datensammler pro Instanz  Export der Daten in Textform  Import der Daten auf externen Server  Auswertung der Performancedaten auf externen Server Vorteil  Auswertung der Daten ohne Belastung des Quellsystems  Langzeitarchivierung auf dem externen System  Datenvolumen in den Datenbanken wird gering gehalten  Die Datensammlung in der Datenbank kann für jede Art der Performanceanalyse einer Datenbank genutzt werden Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 11
  12. 12. 2 Statspack als Datensammler Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 12
  13. 13. Warum Statspack? Vorteile  Kostenloses Tools zur Sammlung von Performancedaten  AWR ist hier nicht geeignet, da erst ab 10g verfügbar und lizenzpflichtig => keine allgemeine Alternative!  Liefert Performancedaten der Datenbank und vom Server  Für Oracle 8.1.6 – 11.2 verfügbar  Wird mit hoher Sicherheit erhalten bleiben, da für Supportzwecke notwendig  Leicht installierbar  Gut für detaillierte Performanceanalysen geeignet  Möglicherweise schon vorhanden Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 13
  14. 14. Wieso Statspack? Nachteile  Platzbedarf, da Daten relational abgelegt werden  Kann durch kurze Purge-Zeit und entsprechendem snap_level ausgeglichen werden.  Viel gesammelt und nur wenig tatsächlich genutzt  Kann optional aber für Detailanalysen sehr hilfreich sein.  Größerer Overhead im Vergleich zum AWR  Statspack wird traditionell aus v$-Views gebildet. AWR ist Bestandteil vom Kernel.  Keine Visualisierung  Von Oracle nur spreport und sprepsql verfügbar.  Alles andere muß man selbst bauen. Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 14
  15. 15. Wieso export in Textform? Vorteile  Einfache SQLs zum Export der Daten  Individuell erweiterbar  Einfacher Transfer der Ergebnisdaten  Keine permanente Verbindung zwischen Datensammler und Auswerter benötigt  Sammlung erfolgt automatisch beim Kunden  Auswertung und Erstellung von Reports Offline im Office möglich  Einfache Archivierung mit hoher Dichte möglich  Textfiles können für später noch aufgehoben werden  Aufgrund der RRD eigentlich nicht erforderlich Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 15
  16. 16. Wieso export in Textform? Nachteile  Overhead  direktes Lesen per SQL mit anschließendem Import in RRD wäre möglich  Umweg über die Files würde entfallen  Formatänderungen an 2 Stellen notwendig  Statements zum Erzeugen der Textfiles  Parser, falls keine direkten RRD-Aufrufe generiert werden  Zusätzlicher Platzbedarf für ASCII-Files  Umweg „Select in Textfile“ und dann erst in RRD  Ist vernachlässigbar, da Files nach Import in RRD gelöscht werden können Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 16
  17. 17. Was wird denn exportiert? Performancedaten pro Snapshot  Snap-Interval bestimmt die kleinste Granularität  Stündliches Intervall für Langzeitbetrachtung ausreichend Stat$osstat  Relative Betrachtung Auslastung des Servers durch Instanz stats$sys_time_model  Betrachtung DB Time / CPU Time Zahlreiche Wait-Events  Insbesonder I/O-Events mit Zeitbedarf  Betrachtung der I/O-Last der entsprechenden Instanz  Elapsed SQL Time / Parse Time  … Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 17
  18. 18. 3 Was ist RRD? Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 18
  19. 19. Was ist RRD RRD steht für ‚Round-Robin-Database‘  Autor: Tobias Oetiker  http://oss.oetiker.ch/rrdtool  Lizenz: Gnu Public License File-basierte Datenbank  Automatische Aggregation von Daten über die Zeit  Zahlreiche Berechnungsmethoden  Automatische 0-Punkt-Erkennung bei der Datenpflege  Für V$Views die nach einem Neustart der DB wieder mit 0 beginnen  Tools für Pflege der Datenbanken  rrdtool  rrdupdate, rrdump … Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 19
  20. 20. Was ist RRD Umfangreiches Reporting  Erstellung von Graphen aus mehreren Datenbanken  u. a. Linien-, Balkendiagramme einzeln oder aggregiert möglich Auf sehr vielen Plattformen verfügbar  Unter Linux überall verfügbar  Unter Linux32/64 unterschiedliche Datenformate Zahlreiche GUI-Frontends verfügbar  ddraw erfolgreich eingesetzt  http://web.taranis.org/drraw/  CGI-Skripte, die direkt rrdgraph zur Generierung aufrufen  Apache WebServer mit CGI benötigt  Direkter Zugriff auf die RRDs ist erforderlich Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 20
  21. 21. 4 Wie sieht das in der Praxis aus? Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 21
  22. 22. Wie sieht das in der Praxis aus? Sammlung der Daten mittels Statspack  Automatisch mittels dbms_job  Purge alter Daten mittels dbms_job Täglicher Export der Performance-Daten  Spoolfile mittels SQLPlus über cronjob gestartet Import der Daten in die RRD  Ausführen der gespoolten Skripte Erstellung von Ergebnisgrafiken aus der RRD  Individuelle Erstellung von Reports mittels ddraw über Web-Browser  Optional vorgefertige Berichte abrufbar Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 22
  23. 23. Wie sieht das in der Praxis aus? RRDs erzeugen (nur einmalig erforderlich!)  rrdtool create datenbankname --start "now -1month" --step 1800 DS:cnt:DERIVE:10800:0:U RRA:AVERAGE:0.5:1:1440 RRA:AVERAGE:0.5:30:336 RRA:AVERAGE:0.5:120:372 RRA:AVERAGE:0.5:720:730 RRA:MIN:0.5:1:1440 RRA:MIN:0.5:30:336 RRA:MIN:0.5:120:372 RRA:MIN:0.5:720:730 RRA:MAX:0.5:1:1440 RRA:MAX:0.5:30:336 RRA:MAX:0.5:120:372 RRA:MAX:0.5:720:730 RRA:LAST:0.5:1:1440 Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 23
  24. 24. Wie sieht das in der Praxis aus? Beispiel SQL für stat$sys_time_model select lower(vd.name)||:||lower(s.sname)||_||s.instance_number||.rr d:‚ || s.unixtime ||:||s.wert from v$database vd join (select ss.snap_id ,ss.snap_time ,round(( cast((ss.snap_time) as date) - to_date(01-JAN- 1970,DD-MON-YYYY)) * (86400)) unixtime … from stats$sys_time_model stm join stats$time_model_statname se on stm.stat_id = se.stat_id join stats$snapshot ss on ss.snap_id = stm.snap_id where ( stat_name in( DB time‚ background cpu time‚ … ) ))s on 1=1 order by s.instance_number,s.sname, s.unixtime ; Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 24
  25. 25. Wie sieht das in der Praxis aus? Beispielausgabe vom SQL-Statement rrdtool update aim10/db_cpu_1.rrd 1266868804:4984823120080 rrdtool update aim10/db_cpu_1.rrd 1266872405:4986749110063 rrdtool update aim10/db_cpu_1.rrd 1266876000:4988710608834 rrdtool update aim10/db_cpu_1.rrd 1266879602:4991040643966 rrdtool update aim10/db_cpu_1.rrd 1266883202:4992951567828 rrdtool update aim10/db_cpu_1.rrd 1266886803:4994868748816 rrdtool update aim10/db_cpu_1.rrd 1266890404:4996766485685 rrdtool update aim10/db_cpu_1.rrd 1266894005:4998676703838 rrdtool update aim10/db_cpu_1.rrd 1266897600:5000601974938 rrdtool update aim10/db_cpu_1.rrd 1266901201:5002558786266 Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 25
  26. 26. Wie sieht das in der Praxis aus? Ergebnisgrafik einer RRD Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 26
  27. 27. Wie sieht das in der Praxis aus? Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 27
  28. 28. Wie sieht das in der Praxis aus? Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 28
  29. 29. 5 Zukunftsvisionen Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 29
  30. 30. Zukunftsvisionen Bisher in zwei Projekten erfolgreich eingesetzt  1. Projekt: RAC-Cluster zwei Knoten sechs Datenbanken (Quelle Statspack-Daten)  Darstellung der Datenbanken-Last im Cluster  2. Projekt: Visualisierung von I/O-Events (Quelle AWR-Daten)  Klärung, ob mehrere Datenbanken zeitgleich Performanceprobleme im SAN auslösen, da SAN- Monitoringtool nicht vorhanden war  AWR kann nur Anzahl und Zeit für Events liefern, nicht durchschnittliche Zeit pro Event Überarbeitung des Systems  SQLs und Skripte noch im Betastadium  Es werden Projekte für weitere Ausarbeitung gesucht Langfristige Vision  Framework zur Performancebeobachtung mit Langzeitspeicherung Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 30
  31. 31. Zukunftsvisionen Bessere Visualisierung  Ggf. ddraw durch Skripte ablösen  Falls vorhanden: Einbindung in Cacti oder ganglia Weitere Ideen?  Immer her damit! Live-Demo von ddraw erwünscht? Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 31
  32. 32. Fragen und Antworten Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 32
  33. 33. KontaktThorsten BruhnsSeniorberaterOPITZ CONSULTING Bad Homburg GmbHKaiser-Friedrich-Promenade 9151647 Bad HomburgTel. +49 (6172) 6626 0thorsten.bruhns@opitz-consulting.comBesuchen Sie uns im Internet:www.opitz-consulting.com Lastprofile für mehrere Datenbanken auf einem Server © OPITZ CONSULTING GmbH 2011 Seite 33

×