Database Reference
In-Depth Information
Zum Schluss dieses Abschnitts möchte ich ein einfaches Beispiel aus der Praxis für den
Einsatz des Ockham's Prinzips bei Performance Tuning präsentieren.
16.2.1
Ein Fall mit einem nicht performanten Datenbankprozess
Ein Kunde ließ sich von einem Spezialisten bezüglich eines nicht performanten Daten-
bankprozesses beraten. Ich weiß nicht, wie dieser Spezialist das Problem analysiert hat.
Seine Verbesserungsvorschläge bezogen sich aber auf den Application Server, der bei dem
Kunden im Einsatz war, und brachten angeblich nicht viel für die Problemlösung. Der
Kunde rief mich an und bat, den jeweiligen Prozess zu tunen, zumal dieser Prozess gerade
lief. Ich stellte fest, dass dieser Prozess die meiste Zeit auf das Enqueue ST beim Ausführen
eines Insert wartete. Diese Geschichte kommt aus den alten Zeiten von Oracle 7, als man
noch ausschließlich die Dictionary Managed Tablespaces (DMT) benutzte. Es gibt ein ein-
ziges Enqueue ST, das Oracle beim Allozieren der Extents in DMT einsetzt (was leicht zu
einem Engpass werden kann, wenn man dort sehr oft und zugleich konkurrierend die
Extents alloziert). In der View DBA_TABLES ermittelte ich, dass das nächste Extent der
jeweiligen Tabelle (in welche man die Daten mit dem Insert eintrug) zu klein war. Dies
führte zu einem sehr häufigen Allozieren der Extents und logischerweise zum Warten auf
das Enqueue ST. Die Lösung dieses Problems war ganz klar: das nächste Extent für die
neuen Datenblöcke mit dem „ALTER TABLE“ Kommando für die jeweilige Tabelle zu
vergrößern. Der problematische Prozess wurde sofort um Faktor 80 schneller, als ich das
gemacht hatte. Diese einfache Analyse kostete mich ca. 10 min Zeit und verlief exakt nach
den Regeln, die wir oben besprachen. Ich beschäftigte mich nicht mit bodenlosen Theo-
rien, sondern analysierte sofort den problematischen Prozess. Somit ermittelte ich die Tat-
sache, dass dieser Prozess auf das Ereignis ST-Enqueue wartete. So entstand die Hypothe-
se, dass das häufige Allozieren der Extents dieses Warten verursachte. Die unzureichende
Größe des nächsten Extent bekräftigte diese Hypothese. Meine Vermutung ließ sich durch
das Vergrößern des nächsten Extent bestätigen. Ich beschreibe diesen einfachen Fall so
detailliert, weil ich oft beobachte, wie die Leute grundlegende methodologische Fehler bei
der Problemanalyse machen. Möglicherweise war der Application Server in der Tat nicht
optimal konfiguriert, möglicherweise haben die jeweiligen Verbesserungsvorschläge sogar
die Performance um Einiges besser gemacht. Es ist aber kein logischer Zusammenhang
zwischen dem problematischen Prozess und der Konfiguration des Application Server er-
sichtlich. Hätte man nach einem gesucht, hätte man sicherlich mehrere gewaltige Annah-
men machen müssen. Die jeweilige Analyse wurde vermutlich nach dem Motto gemacht
„suche nicht dort, wo Du etwas verloren hast, sondern dort, wo es hell ist“.
Fazit
Die richtige Methodologie ist das aller Wichtigste bei jeder Problemanalyse.
 
Search WWH ::




Custom Search