Langsam laufende Transaktion
Datenbankadministratoren werden von Anwendern oft gebeten herauszufinden, weshalb eine Transaktion bzw. eine Reihe von Transaktionen besonders langsam läuft. Bei der Untersuchung des Problems gibt es viele Faktoren zu beachten.
Da die Suche recht lange dauern kann, sollten Sie möglichst viele Hintergrundinformationen erfragen.
Erfragen Sie folgende Details von den Anwendern:
· War die Transaktion schon immer langsam, oder haben Sie die Verlangsamung erst vor kurzem bemerkt?
· Handelt es sich um ein neues Programm bzw. eine neue Transaktion?
· Tritt die Verlangsamung nur zu sehr geschäftigen Zeiten ein, oder ist sie recht konstant?
· Gab es in jüngster Zeit Veränderungen hinsichtlich der Arbeitsbelastung?
· Ist nur diese eine Transaktion langsam oder laufen auch andere Transaktionen/Anwendungen langsam?
Versuchen Sie anhand der ermittelten Informationen, den Performance-Engpass zu lokalisieren.
Wenn sich das Problem auf eine bestimmte Transaktion oder Anwendung eingrenzen lässt, ist oftmals die Unterstützung der Anwendungsentwickler erforderlich. Diese verstehen den Prozessfluss der Anwendung besser und können beim Ändern und Testen von Anweisungen im Programm behilflich sein.
Nutzen Sie folgende Analysemöglichkeiten:
· Lassen Sie sich die offenen Transaktionen anzeigen (Transaktionen).
· Finden Sie heraus, ob exklusive Wartesituationen aufgetreten sind (Wartesituationen (exklusive)).
· Untersuchen Sie die an der Transaktion beteiligten Tabellen auf fehlende Indizes (Indexanalyse).
· Untersuchen Sie die Cache-Trefferraten oder die Geschwindigkeit der Tabellensuchvorgänge. Verwenden Sie dazu beispielsweise die Analyse der Engpässe.
· Führen Sie Laufzeitanalysen eventuell langlaufender SQL-Anweisungen mit Hilfe des Kommandomonitors durch.