Performance Plus fr Oracle Methodisches Vorgehen und gezielte

  • Slides: 26
Download presentation
Performance. Plus für Oracle Methodisches Vorgehen und gezielte Oracle Interventionen, um einzelne Funktionen um

Performance. Plus für Oracle Methodisches Vorgehen und gezielte Oracle Interventionen, um einzelne Funktionen um Faktor 3 zu beschleunigen und den Gesamtdurchsatz um 20% zu erhöhen § Alfons Zimmermann, simple fact AG Stroberstr. 52 D-92318 Neumarkt / Opf. Tel: 09181 / 4768 -0 www. simplefact. de § Zwickau, 26. Januar 2005 © simple fact AG I www. simplefact. de Oracle Performance. Plus 1

Performance. Plus Oracle. Tuning Folgen unzureichender Performance Die möglichen Folgen n Zeitverzüge im Projektverlauf

Performance. Plus Oracle. Tuning Folgen unzureichender Performance Die möglichen Folgen n Zeitverzüge im Projektverlauf n Mehraufwand für Krisenmanagement n Scheitern des (Teil)-Projektes n Hardwareaufrüstung mit Software- Lizenzen n Verlust von Image n Verlust von Folgeprojekten n Konkurs Softwareproduzent oder Betreiber © simple fact AG I www. simplefact. de Oracle Performance. Plus 2

Performance. Plus Oracle Tuning Was ist Performance fällt oft erst auf, wenn sie fehlt!

Performance. Plus Oracle Tuning Was ist Performance fällt oft erst auf, wenn sie fehlt! Definition Beispiele Antwortzeit mittlere Antwortzeit unter 2 Sekunden Durchsatz mindestens 4000 Einlagerungen pro Stunde, 8 Mio Buchungen pro Tag Ressourcenverbrauch höchstens 4000 I/O‘s pro Sekunde Verfügbarkeit 99% Verfügbarkeit, 24 * 7, 2 min Failoverzeit Stabilität lineare Skalierung bei steigender Last und DB-Größe Parallelität 1000 Benutzer können parallel zugreifen Performance. Plus hilft bei Performance Problemen © simple fact AG I www. simplefact. de Oracle Performance. Plus 3

Performance. Plus Oracle Tuning Was ist Performance Beispiel der Abhängigkeit von Durchsatz und Benutzerzahl

Performance. Plus Oracle Tuning Was ist Performance Beispiel der Abhängigkeit von Durchsatz und Benutzerzahl n vernetzte gegenseitige Beeinflussungen und Abhängigkeiten n Abhängigkeit zwischen Durchsatz und Benutzerzahl: § Phase I: Systemressourcen sind noch nicht ausgeschöpft, der Durchsatz steigt linear § Phase II: Mindestens eine Systemressource ist erschöpft. Der Durchsatz stagniert auf Kosten längerer Antwortzeiten § Phase III: Das System kann die Ressourcenengpässe nicht mehr stabil ausbalancieren. Weder Durchsatz noch Antwortzeiten sind vorhersagbar § Phase IV: Das System kollabiert. © simple fact AG I www. simplefact. de Oracle Performance. Plus 4

Performance. Plus Oracle Tuning Was ist Performance. Plus Definition, Ergebnisse und Referenzen n Performance.

Performance. Plus Oracle Tuning Was ist Performance. Plus Definition, Ergebnisse und Referenzen n Performance. Plus ist eine Methode § zum Entwurf performanter Anwendungen § zum Tuning bestehender Anwendungen n Erfolgsquote: durchschnittlich über Faktor 3, über 400 Projekte: n Ergebnisse § hochperformante und akzeptierte Anwendungen § erfolgreiche Anwendungen im Betrieb öffnen Wege für neue Projekte n Referenzen: § Stiftung Warentest § Quelle AG § DIBA § und viele, viele andere. . . © simple fact AG I www. simplefact. de Oracle Performance. Plus 5

Performance. Plus Oracle Tuning Kernidee: Die limitierende Ressource Beispiel des Pflanzenwachstums (nach Justus von

Performance. Plus Oracle Tuning Kernidee: Die limitierende Ressource Beispiel des Pflanzenwachstums (nach Justus von Liebig) n Analogie aus der Biologie § Pflanzenwachstum § Zufuhr unterschiedlicher Nährstoffe § Die Menge der zugeführten Nährstoffe lässt nur bedingt Prognosen über die Entwicklung einer Pflanze zu n Beispiel: Ab einem bestimmten Punkt bringt z. B. erhöhte Wasserzufuhr kein Wachstum mehr, wenn es hauptsächlich an Magnesium fehlt n Konzept des Minimums § Es existiert immer mindestens eine begrenzende (limitierende) Ressource § Ist diese Ressource erschöpft, kann ein „Mehr“ in anderen Bereichen auch nicht helfen © simple fact AG I www. simplefact. de Oracle Performance. Plus 6

Performance. Plus Oracle Tuning Kernidee: Die limitierende Ressource Informationstechnologie n Das Prinzip der limitierenden

Performance. Plus Oracle Tuning Kernidee: Die limitierende Ressource Informationstechnologie n Das Prinzip der limitierenden Ressource ist auf die Performance Planung übertragbar. n Die limitierende Systemressource bestimmt die maximal mögliche Performance § Sind z. B. die CPU´s nahe bei 100%, wird es „immer langsamer“ n Vorgehensweise, wenn die limitierende Systemressource bekannt ist: § Reduzierung des Ressourcenverbrauches § Balance auf andere Systemressourcen § Erweiterung durch Zukauf n Das Ergebnis ist der gezielte Einsatz von Interventionen zur Performancesteigerung eines Systems n Höhere Investitionssicherheit © simple fact AG I www. simplefact. de Oracle Performance. Plus 7

Performance. Plus Oracle Tuningansätze 2 Ansätze führen bei Performance. Plus zum Erfolg n Top

Performance. Plus Oracle Tuningansätze 2 Ansätze führen bei Performance. Plus zum Erfolg n Top Down Ansatz Tuning Top Down © simple fact AG I www. simplefact. de § Bekannte lang laufende Transaktionen § Hochfrequente Transaktionen § Kritische Transaktionen bzgl. Performance Problemzonen n Kommt zur Anwendung, wenn problematische Transaktionen vom Kunden genannt werden können Oracle Performance. Plus 8

Performance. Plus Oracle Tuningansätze 2 Ansätze führen bei Performance. Plus zum Erfolg n Bottom

Performance. Plus Oracle Tuningansätze 2 Ansätze führen bei Performance. Plus zum Erfolg n Bottom Up Ansatz Tuning Bottom Up © simple fact AG I www. simplefact. de § ressourcenintensives SQL (CPU, I/O, MEMORY, LOCKS, . . ) § Hochfrequentes SQL § ineffizientes SQL, d. h. hoher Ressourcenverbrauch bei kleiner Ergebnismenge § unnötige SQL § bei verborgene Ursachen § bei zunächst nicht bestimmbaren Ursachen n Methode ist äußerst effizient, um die wirklichen „Ressourcenfresser“ zu identifizieren § Wir finden und beschleunigen aus 20. 000 SQL die wenigen, die hohen Ressourcenverbrauch im Sinne der „limitierenden Ressource“ verursachen. Oracle Performance. Plus 9

Performance. Plus Oracle Tuning Wo liegt das Performance Potenzial Analyse und Optimierungs-Layer n Je

Performance. Plus Oracle Tuning Wo liegt das Performance Potenzial Analyse und Optimierungs-Layer n Je „näher“ an der Datenbank, umso größer sind die Einflußmöglichkeiten User Interface Application Einfluss Möglichkeiten © simple fact AG I www. simplefact. de Oracle Performance. Plus Oracle Datenbank 10

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Überblick über Interventionsmöglichkeiten n Unnötige SQL Statements eliminieren n

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Überblick über Interventionsmöglichkeiten n Unnötige SQL Statements eliminieren n Index Design optimieren n Query-Design optimieren n Transaktionsdesign modifizieren n Funktionsdesign ändern n Logisches Datenmodell anpassen n Physisches Datenmodell umgestalten n Architektur der Anwendung ändern © simple fact AG I www. simplefact. de Oracle Performance. Plus 11

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design: „vermeidbare“ SQL Statements n SELECT COUNT(*) INTO var

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design: „vermeidbare“ SQL Statements n SELECT COUNT(*) INTO var FROM table WHERE searchcondition; IF var > 0 THEN SELECT a, b, c FROM table WHERE searchcondition; Mangel: Unnötiges Zählen der zu erwartenden Resultate. Empfehlung: Eliminierung des unnötigen SELECT COUNT(*) Wirkung: Anzahl SQL Statements sinkt um 40% n SELECT. . . INTO var FROM. . . WHERE. . . ; Mangel: Wenn die Inhalte von var niemals abgerufen werden, dann unnötiges SQL Empfehlung: Eliminierung des SQL Statements aus Anwendung. n Faktor der Beschleunigung: > 1000 © simple fact AG I www. simplefact. de Oracle Performance. Plus 12

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design: „missglückte“ SQL Statements n SELECT a, b, c

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design: „missglückte“ SQL Statements n SELECT a, b, c FROM tab WHERE UPPER(c) = UPPER('zimmermann'); Functions (z. B. UPPER) deaktivieren den evtl. über Spalte c definierten Index mit FULL Table Scans als Folge. n SELECT a, b, c FROM tab WHERE b + 100 = 4500; Empfehlung: SELECT a, b, c FROM tab WHERE b = 4500 – 100; n Faktor der Beschleunigung: 1 bis > 100, je nach Selektivität der Query bzw. des Index. © simple fact AG I www. simplefact. de Oracle Performance. Plus 13

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design und Parsing Aufwand n Fehlende BIND Variable führen

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design und Parsing Aufwand n Fehlende BIND Variable führen zu hohem CPU Aufwand beim Parsen der SQL Statements SELECT a, b, c FROM tabelle WHERE a = 17; SELECT a, b, c FROM tabelle WHERE a = 18; Empfehlung: var : = 17 SELECT a, b, c FROM tabelle WHERE a = var; n CPU Entlastung bis zu 25%. (spart bis zu eine von 4 CPU´s) © simple fact AG I www. simplefact. de Oracle Performance. Plus 14

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design und Mengenorientierung n Mangel: Einzelsatzverarbeitung statt Mengenverarbeitung LOOP

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design und Mengenorientierung n Mangel: Einzelsatzverarbeitung statt Mengenverarbeitung LOOP 1 hole nächsten Kunden LOOP 2 hole dessen Rechnungen END LOOP 2; END LOOP 1; n Empfehlung: Mengenverarbeitung statt Einzelsatzverarbeitung SELECT. . . FROM kunde k , rechnung r WHERE k. kundennr = r. kundennr; n Faktor der Beschleunigung: bis zu Faktor 40 © simple fact AG I www. simplefact. de Oracle Performance. Plus 15

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design und Query Optimizer n Angemessener Einsatz des Oracle

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Query-Design und Query Optimizer n Angemessener Einsatz des Oracle Query Optimizers n Erstellen von Statistiken angemessen viele Tabellen, angemessen oft ausgeführt, angemessen tiefe Analyse der Daten. n ANALYZE TABLE tab COMPUTE STATISTICS FOR TABLE FOR INDEXES FOR INDEXED COLUMNS; n Umgang mit Tabellen unterschiedlichen Typs statisch / stetig wachsend / transient n Qualität der Query Pläne durch zyklische Prüfung sicherstellen n SQL und /*+ HINTS */ zur Beeinflussung des Query Optimizers n SQL /*- HINTS (DEAKTIVIERTER HINT) */ oft schneller n Faktor der Beschleunigung: weit über 100 möglich!!! © simple fact AG I www. simplefact. de Oracle Performance. Plus 16

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Physisches Datenmodell: Index Design n SELECT a, b, c,

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Physisches Datenmodell: Index Design n SELECT a, b, c, d FROM tab WHERE a = 1 AND b = 2; Welche Index Variante ist optimal? 1. Kein Index? 2. Index auf tab(a) + Index auf tab(b)? 3. Index auf tab(a, b)? 4. Index auf tab(a, b, c)? 5. Index auf tab(a, b, c, d)? n Faktor der Beschleunigung 1. . . > 1000 (stark abhängig von der Selektivität) © simple fact AG I www. simplefact. de Oracle Performance. Plus 17

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Client vs. Server Iteration n Iteration im Client: LOOP

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Client vs. Server Iteration n Iteration im Client: LOOP i = 1. . 1000 SELECT * FROM tab WHERE a = i; 1000 SQL Statements wandern vom Client zum Datenbankserver n Alternative: Iteration im SERVER FOR i IN 1. . 1000 LOOP SELECT a, b, c FROM tab WHERE a = i; END LOOP; Nur ein SQL wandert vom Client zum Datenbankserver n Faktor der Beschleunigung im Bereich von 10. . . 30 © simple fact AG I www. simplefact. de Oracle Performance. Plus 18

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Physikalische Ablage n Reorganisation der Tabellen (und Indizes) Beschleunigung

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Physikalische Ablage n Reorganisation der Tabellen (und Indizes) Beschleunigung bis zu Faktor 6 n Beseitigung der Plattenfragmentierung Faktor der Beschleunigung > 2 n Separierung von Daten und Indizes stark von physikalischer Speichertechnik abhängig n Partitionierung von Daten und Indizes stark von physikalischer Speichertechnik abhängig © simple fact AG I www. simplefact. de Oracle Performance. Plus 19

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Oracle Server Konfiguration n Kritische Parameter: 1. Dimensionierung Buffer

Performance. Plus Oracle Tuning Interventionsmöglichkeiten Oracle Server Konfiguration n Kritische Parameter: 1. Dimensionierung Buffer Cache 2. Dimensionierung Library / SQL Cache 3. Parametrierung des Logging Systems LOG_BUFFER, Online Redo Logfiles 4. Sortierverhalten 5. Undo Management Qualität (Rollback Segmente). . . und weitere n Weitere interessante Performance Aspekte: 1. ROLLBACK/COMMIT – Quote (wie viele Transaktionen enden mit Rollback bzw. Commit? ) 2. Gibt es Invalid Objects 3. Latches 4. Locks 5. Deadlocks 6. Anzahl ORA-00600 Fehler? 7. Externe Ursachen außerhalb des Datenbanksystems? © simple fact AG I www. simplefact. de Oracle Performance. Plus 20

Performance. Plus Referenzen Quelle Web Shop - Performancesteigerung n Zentraler Web Shop für quelle.

Performance. Plus Referenzen Quelle Web Shop - Performancesteigerung n Zentraler Web Shop für quelle. de n Performancesteigerung erhöht Akzeptanz und führt zu Vorher Quantensprung beim Web Umsatz n Schwächen der Anwendung in kurzer Zeit identifiziert und dokumentiert, alle Vorschläge schnell realisierbar n Modifikation der Anwendung durch Eliminierung bzw. Tuning einzelner SQL Statements um Faktoren teilweise > 10. 000 n Performancesteigerung um Faktor 15 für Gesamtsystem Nachher "Aufgrund von gravierenden Performanceproblemen war der Anlauf des sehr großen und komplexen Web-Shop-Projekts extrem gefährdet. Die Spezialisten der simple fact AG fanden in wenigen Tagen eine Lösung mit dramatisch verbesserter Performance. Durch den Einsatz von simple fact AG konnten sehr hohe Investments in Hardware vermieden werden. " M. J. R. , Direktor Neue Medien der Quelle AG © simple fact AG I www. simplefact. de Oracle Performance. Plus 21

Performance. Plus Referenzen Stiftung Warentest Optimierung des zentralen Internet Auftritts n Performancesteigerung des zentralen

Performance. Plus Referenzen Stiftung Warentest Optimierung des zentralen Internet Auftritts n Performancesteigerung des zentralen Internet Auftritts n Bessere Antwortzeiten für End User n Umsatzsteigerung bei kostenpflichtigen Warentest Downloads n Nach Pressekampagnen und anschließenden Hochlast Phasen hohe Stabilität n Modifikation der Anwendung durch Eliminierung überflüssiger SQL Statements n Performancesteigerung durch Performance. Plus Faktor 3 -4 „ … bestätigt mich darin, daß wir mit den durch Sie ermöglichten Optimierungsarbeiten eine solide Basis für das weitere Wachstum unseres Internet Angebotes gelegt haben. Besten Dank für Ihre professionelle und überaus hilfreiche Arbeit“ Benno Wloch, Leiter EDV und Innerer Dienst © simple fact AG I www. simplefact. de Oracle Performance. Plus 22

Performance. Plus Referenzen Stiftung Warentest 8/2004 Optimierung eines Redaktionssystems (für „test“, „finanztest“) n Ressourcenentlastung

Performance. Plus Referenzen Stiftung Warentest 8/2004 Optimierung eines Redaktionssystems (für „test“, „finanztest“) n Ressourcenentlastung um Faktor 9 n Verschiebung geplanter HW Hochrüstung n Bessere Antwortzeiten für Redakteure und Layouter © simple fact AG I www. simplefact. de Oracle Performance. Plus 23

Performance. Plus Referenzen ALSTOM SAP Performance. Plus n SAP System für Gesamtkonzern, alle SAP

Performance. Plus Referenzen ALSTOM SAP Performance. Plus n SAP System für Gesamtkonzern, alle SAP Module außer HR n gesteigerte Betriebssicherheit der nächtlichen Batch Jobs n Ressourcenersparnis durch Tuning der Dialog Komponenten § Systementlastung um 20% § Nächtlicher Batch Job von 2, 5 Stunden auf 1, 5 Minuten § Batch Job tagsüber von 5 Minuten auf 1 Sekunde Job lief in 10 Stunden 40 mal. § Dialog um Faktor 5 beschleunigt. § Dialog von 3 Minuten auf 1 Sekunde optimiert. § Fehler in ABAP, nach Beseitigung um Faktor > 1000 schneller. ". . . von 2, 5 Stunden auf 1, 5 Minuten. . . Damit wird unser Zeitfenster für die SAP Batch Jobs erheblich länger. " Jochen Scholze, Manager Business Applications, ALSTOM Regensburg © simple fact AG I www. simplefact. de Oracle Performance. Plus 24

Kompetenz Kernkompetenz simple fact AG anbieterunabhängige Spitzenleistung n Datenbanken, Data Warehouse, Unternehmensreporting n Business

Kompetenz Kernkompetenz simple fact AG anbieterunabhängige Spitzenleistung n Datenbanken, Data Warehouse, Unternehmensreporting n Business Intelligence und Management n n © simple fact AG I www. simplefact. de Informationssysteme Analytisches und operatives CRM Customer Relationship Management Content und Knowledge Management IT Service Management / ITIL mit Lösungen IT Projekte zu Entwicklung, Tuning, Migration, Sanierung Oracle Performance. Plus 25

Danke für Ihre Aufmerksamkeit Alfons. Zimmermann 92318 Neumarkt in der Oberpfalz Tel. 09181 /

Danke für Ihre Aufmerksamkeit Alfons. Zimmermann 92318 Neumarkt in der Oberpfalz Tel. 09181 / 4768 -0 © simple fact AG I www. simplefact. de Oracle Performance. Plus 26