Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PerformancePlus für Oracle

Ähnliche Präsentationen


Präsentation zum Thema: "PerformancePlus für Oracle"—  Präsentation transkript:

1 PerformancePlus 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 Neumarkt / Opf. Tel: / Jena 14. September 2004 1

2 Folgen unzureichender Performance
PerformancePlus OracleTuning Folgen unzureichender Performance Die möglichen Folgen Zeitverzüge im Projektverlauf Mehraufwand für Krisenmanagement Scheitern des (Teil)-Projektes Hardwareaufrüstung mit Software- Lizenzen Verlust von Image Verlust von Folgeprojekten Konkurs Softwareproduzent oder Betreiber Es gibt keine allgemein anerkannte Definition, jeder versteht etwas anderes darunter Simple fact AG hat daher ein eigenen PerformanceModell entwickelt: Antwortzeit Zeit für die Ausführung eines Berichtes im FE oder Aktualisierungslaufes im DWH. 3 Sekunden für die Erstellung der Umsatzverteilung über alle Produkte und Regionen. Für andere: Durchsatz Anzahl der Geschäftstransaktionen oder Business Objekte pro Zeiteinheit. Erstellung von 2000 Provisionslisten für alle Regionen in 4 Stunden. Ressourcenverbrauch Verbrauch an Ressourcen für die Berichte oder Prozesse. Der ETL Aktualisierungslauf muss mit 12 Prozessoren in 8 Stunden fertig sein. Skalierung Verhalten des Systems bei zunehmender Last, Anforderungen oder Benutzer. Bei linearer Aufrüstung mit Hardware muss der Durchsatz linear anwachsen. Verfügbarkeit Zu welchem Prozentsatz steht das System für die pro­duktive Nutzung zur Verfügung? Die Anwendung muss 95% Verfügbarkeit haben. Stillstandzeit kleiner 24 Stunden. Stabilität Stabilität des Gesamtsystems in Extremsituationen oder bei Veränderung der Randbedingungen? Eine Verdoppelung des Datenvolumens muss das System ohne Einbußen verkraften. Parallelität Wie viele Benutzer können parallel unbeeinträchtigt Funktionen ausführen? Es müssen 3000 Benutzer parallel Berichte erstellen können. Weitere 2

3 Was ist Performance Performance fällt oft erst auf, wenn sie fehlt!
PerformancePlus Oracle Tuning Was ist Performance Performance fällt oft erst auf, wenn sie fehlt! PerformancePlus hilft bei Performance Problemen 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 Es gibt keine allgemein anerkannte Definition, jeder versteht etwas anderes darunter Simple fact AG hat daher ein eigenen PerformanceModell entwickelt: Antwortzeit Zeit für die Ausführung eines Berichtes im FE oder Aktualisierungslaufes im DWH. 3 Sekunden für die Erstellung der Umsatzverteilung über alle Produkte und Regionen. Für andere: Durchsatz Anzahl der Geschäftstransaktionen oder Business Objekte pro Zeiteinheit. Erstellung von 2000 Provisionslisten für alle Regionen in 4 Stunden. Ressourcenverbrauch Verbrauch an Ressourcen für die Berichte oder Prozesse. Der ETL Aktualisierungslauf muss mit 12 Prozessoren in 8 Stunden fertig sein. Skalierung Verhalten des Systems bei zunehmender Last, Anforderungen oder Benutzer. Bei linearer Aufrüstung mit Hardware muss der Durchsatz linear anwachsen. Verfügbarkeit Zu welchem Prozentsatz steht das System für die pro­duktive Nutzung zur Verfügung? Die Anwendung muss 95% Verfügbarkeit haben. Stillstandzeit kleiner 24 Stunden. Stabilität Stabilität des Gesamtsystems in Extremsituationen oder bei Veränderung der Randbedingungen? Eine Verdoppelung des Datenvolumens muss das System ohne Einbußen verkraften. Parallelität Wie viele Benutzer können parallel unbeeinträchtigt Funktionen ausführen? Es müssen 3000 Benutzer parallel Berichte erstellen können. Weitere 3

4 PerformancePlus Oracle Tuning Was ist Performance Beispiel der Abhängigkeit von Durchsatz und Benutzerzahl vernetzte gegenseitige Beeinflussungen und Abhängigkeiten 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. I kein User merkt, das weitere User dazukommen, lineares Verhalten II System stabil, Grenzwert, ab hier erhöht sich der Durchsatz bei mehr Usern nicht, Antwortzeiten pro User erhöhen sich, Durchsatz bleibt konstant III System geht in instabile Zustände, Wartezeiten schwanekn, nicht voirhersagbares Verhalten des Systems IV Antwortzeiten gegen unendlich, Durchsatz gegen 0, extremes Pagen, Swappen Wir bringen mit Methode 4

5 Was ist PerformancePlus
Oracle Tuning Was ist PerformancePlus Definition, Ergebnisse und Referenzen PerformancePlus ist eine Methode Zum Entwurf performanter Anwendungen Zum Tuning bestehender Anwendungen Erfolgsquote: Durchschnittlich bei Faktor 3,5 Projekte: > 400 Ergebnisse hochperformante und akzeptierte Anwendungen erfolgreiche Anwendungen im Betrieb öffnen Wege für neue Projekte Referenzen: Stiftung Warentest Quelle AG und viele, viele andere . . . In dieser Grafik stellt KALIUM die limitierende Ressource dar (magenta farbig). Die Pflanze kann nur halb so hoch werden wie theoretisch denkbar. Wird die limitierende Ressource erweitert, wächst die pflanze entsprechend (grün). Wenn keine limitierende Ressource mehr existiert, dann ist maximales Wachstum möglich. Wenn die limitierende Ressource CPU heisst, Dann wird mehr Memory nicht helfen. Woflgang Mewes hat die Erkenntnis des MINIMUM Prinzips auf Unternehmen übertragen und die Energo-Kybernetische Strategie EKS) entwickelt. Wenn netzwerk der Engpass ist, dann kann mehr CPU nicht helfen. Wenn I/O der Engpass ist, dann wird mehr CPU ebenfalls nicht helfen. Nur bedingt können einzelne fehlende Ressourcen durch andere ersetzt werden. z.B. I/O als limitierende Ressource kann in engen Grenzen durch mehr Memory ausgeglichen werden. Simple fact PerformancePlus fragt also nach der limitierenden ressource. 5

6 Kernidee: Die limitierende Ressource
PerformancePlus Oracle Tuning Kernidee: Die limitierende Ressource Beispiel des Pflanzenwachstums (nach Justus von Liebig) 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 Beispiel: Ab einem bestimmten Punkt bringt z.B. erhöhte Wasserzufuhr kein Wachstum mehr, wenn es hauptsächlich an Magnesium fehlt 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 In dieser Grafik stellt KALIUM die limitierende Ressource dar (magenta farbig). Die Pflanze kann nur halb so hoch werden wie theoretisch denkbar. Wird die limitierende Ressource erweitert, wächst die pflanze entsprechend (grün). Wenn keine limitierende Ressource mehr existiert, dann ist maximales Wachstum möglich. Wenn die limitierende Ressource CPU heisst, Dann wird mehr Memory nicht helfen. Woflgang Mewes hat die Erkenntnis des MINIMUM Prinzips auf Unternehmen übertragen und die Energo-Kybernetische Strategie EKS) entwickelt. Wenn netzwerk der Engpass ist, dann kann mehr CPU nicht helfen. Wenn I/O der Engpass ist, dann wird mehr CPU ebenfalls nicht helfen. Nur bedingt können einzelne fehlende Ressourcen durch andere ersetzt werden. z.B. I/O als limitierende Ressource kann in engen Grenzen durch mehr Memory ausgeglichen werden. Simple fact PerformancePlus fragt also nach der limitierenden ressource. 6

7 Kernidee: Die limitierende Ressource
PerformancePlus Oracle Tuning Kernidee: Die limitierende Ressource Informationstechnologie Das Prinzip der limitierenden Ressource ist auf die Performance Planung übertragbar. Die limitierende Systemressource bestimmt die maximal mögliche Performance Sind z.B. die CPU´s nahe bei 100%, wird es „immer langsamer“ Vorgehensweise, wenn die limitierende Systemressource bekannt ist: Reduzierung des Ressourcenverbrauches Balance auf andere Systemressourcen Erweiterung durch Zukauf Das Ergebnis ist der gezielte Einsatz von Interventionen zur Performancesteigerung eines Systems Höhere Investitionssicherheit Wenn die limitierende Ressource CPU heisst, Dann wird mehr Memory nicht helfen. Wenn netzwerk der Engpass ist, dann kann mehr CPU nicht helfen. Wenn I/O der Engpass ist, dann wird mehr CPU ebenfalls nicht helfen. Nur bedingt können einzelne fehlende Ressourcen durch andere ersetzt werden. z.B. I/O als limitierende Ressource kann in engen Grenzen durch mehr Memory ausgeglichen werden. Simple fact PerformancePlus fragt also nach der limitierenden ressource. Höhere Investitionssicherheit durch wirksame ausnutzung der HW 7

8 Methoden Tuningmethode nach der Ermittlung der limitierenden Ressource
PerformancePlus Oracle Tuning Methoden Tuningmethode nach der Ermittlung der limitierenden Ressource Reihenfolge der Arbeitsschritte bei PerformancePlus: Ermittlung der limitierenden Ressource Tuning im Sinne von „Reduzierung des Ressourcenverbrauchs“ (das ist die Hauptkomponente von PerformancePlus) Tuning vermeidet oft Zukauf von Lizenzen, CPUs oder Memory Balancing:= optimale Substituierung und Konfiguration vorhandener Ressourcen Sizing:= Erweiterung bestehender Ressourcen, falls nun überhaupt noch erforderlich Zyklische Inspektionen bei hoher Dynamik der Anwendung sinnvoll 8

9 Tuningansätze 2 Ansätze führen bei PerformancePlus zum Erfolg
Oracle Tuning Tuningansätze 2 Ansätze führen bei PerformancePlus zum Erfolg Top Down Ansatz Bekannte lang laufende Transaktionen Hochfrequente Transaktionen Kritische Transaktionen bzgl. Performance Problemzonen Kommt zur Anwendung, wenn problematische Transaktionen vom Kunden genannt werden können Tuning Top Down 9

10 Tuningansätze 2 Ansätze führen bei PerformancePlus zum Erfolg
Oracle Tuning Tuningansätze 2 Ansätze führen bei PerformancePlus zum Erfolg Bottom Up Ansatz ressourcenintensives SQL hochfrequentes SQL ineffizientes SQL, wenn hoher Ressourcenverbrauch bei kleiner Ergebnismenge I/O intensives SQL wichtiges SQL unnötige SQL bei verborgene Ursachen bei zunächst nicht bestimmbaren Ursachen Methode ist äußerst effizient, um die wirklichen „Ressourcenfresser“ zu identifizieren Wir finden aus SQL die wenigen, die hohen Ressourcenverbrauch im Sinne der „limitierenden Ressource“ verursachen. Tuning Bottom Up 10

11 Wo liegt das Performance Potenzial
PerformancePlus Oracle Tuning Wo liegt das Performance Potenzial Analyse und Optimierungs-Layer Je „näher“ an der Datenbank, umso größer sind die Einflußmöglich- keiten User Interface Einfluss Möglichkeiten Application Oracle Datenbank 11

12 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Überblick über Interventionsmöglichkeiten Query-Design Transaktionsdesign Funktionsdesign Logisches Datenmodell Physisches Datenmodell Architektur der Anwendung 12

13 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Query-Design: „vermeidbare“ SQL Statements 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(*) 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. Faktor der Beschleunigung: > 1000 13

14 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Query-Design: „missglückte“ SQL Statements SELECT a,b, c ... FROM ... WHERE UPPER(c) = UPPER('zimmermann'); Mangel: Functions (z.B. UPPER) deaktivieren den über Spalte c definierten Index mit FULL Table Scan als Folge. SELECT a,b, c FROM ... WHERE b = 4500; Empfehlung: SELECT a,b, c FROM ... WHERE b = 4500 –100; Faktor der Beschleunigung: 1 bis > 100, je nach Selektivität der Query bzw. des Index. 14

15 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Query-Design und Parsing Aufwand Fehlende BIND Variable führen zu hohem CPU Aufwand beim Parsen der SQL Statements SELECT a,b, c ... FROM ... WHERE a = 17; SELECT a,b, c ... FROM ... WHERE a = 18; Empfehlung: var := 17 SELECT a,b, c ... FROM ... WHERE a = var; CPU Entlastung bis zu 25%. (spart bis zu eine von 4 CPU´s) 15

16 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Query-Design und Mengenorientierung Mangel: Einzelsatzverarbeitung statt Mengenverarbeitung LOOP 1 hole nächsten Kunden LOOP hole dessen Rechnungen END LOOP 2; END LOOP 1; Empfehlung: Mengenverarbeitung statt Einzelsatzverarbeitung SELECT ... FROM kunde k , rechnung r WHERE k.kundennr = r. kundennr; Faktor der Beschleunigung: bis zu Faktor 40 16

17 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Query-Design und Query Optimizer Angemessener Einsatz des Oracle Query Optimizers Erstellen von Statistiken angemessen viele Tabellen, angemessen oft ausgeführt, angemessen tiefe Analyse der Daten. Umgang mit Tabellen unterschiedlichen Typs statisch / stetig wachsend / transient Qualität der Query Pläne sicherstellen durch zyklische Prüfung SQL und /*+ HINTS */ zur Beeinflussung des Query Optimizers Faktor der Beschleunigung: weit über 100 möglich!!! 17

18 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Physisches Datenmodell: Index Design 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) Faktor der Beschleunigung 1...> 1000 (stark abhängig von der Selektivität) 18

19 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Client vs. Server Iteration Iteration im Client: LOOP i = SELECT * FROM tab WHERE a = i; SQL Statements wandern vom Client zum Datenbankserver Alternative: Iteration im SERVER FOR i IN LOOP SELECT * FROM tab WHERE a = i; END LOOP; SQL wandert vom Client zum Datenbankserver Faktor der Beschleunigung im Bereich von 19

20 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Physikalische Ablage Reorganisation der Tabellen (und Indizes) Faktor der Beschleunigung > 2 Beseitigung der Plattenfragmentierung Faktor der Beschleunigung > 2 Separierung von Daten und Indizes stark von physikalischer Speichertechnik abhängig Partitionierung von Daten und Indizes stark von physikalischer Speichertechnik abhängig 20

21 Interventionsmöglichkeiten
PerformancePlus Oracle Tuning Interventionsmöglichkeiten Oracle Server Konfiguration Kritische Parameter: 1. Dimensionierung Buffer Cache 2. Dimensionierung Library und SQL Cache 3. Parametrierung des Logging Systems LOG_BUFFER, Online Redo Logfiles 4. Sortierverhalten 5. Undo Management Qualität (Rollback Segmente) ... und weitere 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 Fehler? 7. Externe Ursachen außerhalb des Datenbanksystems? 21

22 Quelle Vorher Nachher Web Shop - Performancesteigerung PerformancePlus
Referenzen Quelle Web Shop - Performancesteigerung Zentraler Web Shop für quelle.de Performancesteigerung erhöht Akzeptanz und führt zu Quantensprung beim Web Umsatz Schwächen der Anwendung in kurzer Zeit identifiziert und dokumentiert, alle Vorschläge schnell realisierbar Modifikation der Anwendung durch Eliminierung bzw. Tuning einzelner SQL Statements um Faktoren teilweise > Performancesteigerung um Faktor 15 für Gesamtsystem Vorher 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 22

23 Stiftung Warentest Optimierung des zentralen Internet Auftritts
PerformancePlus Referenzen Stiftung Warentest Optimierung des zentralen Internet Auftritts Performancesteigerung des zentralen Internet Auftritts Bessere Antwortzeiten für End User Umsatzsteigerung bei kostenpflichtigen Warentest Downloads Nach Pressekampagnen und anschließenden Hochlast Phasen hohe Stabilität Modifikation der Anwendung durch Eliminierung überflüssiger SQL Statements Performancesteigerung durch PerformancePlus 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 23

24 PerformancePlus Referenzen Stiftung Warentest 8/2004 Optimierung eines Redaktionssystems (für „test“, „finanztest“) Ressourcenentlastung um Faktor 9 Verschiebung geplanter HW Hochrüstung Bessere Antwortzeiten für Redakteure und Layouter 24

25 ALSTOM SAP PerformancePlus PerformancePlus Referenzen
SAP System für Gesamtkonzern, alle SAP Module außer HR gesteigerte Betriebssicherheit der nächtlichen Batch Jobs 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 25

26 Kernkompetenz anbieterunabhängige Spitzenleistung Kompetenz
Datenbanken, Data Warehouse, Unternehmensreporting Business Intelligence und Management 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 26

27 Danke für Ihre Aufmerksamkeit Alfons.Zimmermann@simplefact.de
92318 Neumarkt in der Oberpfalz / 27

28 28


Herunterladen ppt "PerformancePlus für Oracle"

Ähnliche Präsentationen


Google-Anzeigen