29.12.2013 Aufrufe

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Diese Berechnung gibt einen Anhaltspunkt über die durchschnittliche Zahl<br />

von Zeilen, die aus Datenbanktabellen gelesen werden, um die Zeilen zu finden,<br />

die den Auswahlbedingungen entsprechen. Niedrige Werte sind ein Hinweis<br />

auf die Effizienz <strong>der</strong> Datensuche <strong>und</strong> geben im Allgemeinen an, dass<br />

Indizes effektiv genutzt werden. Dieser Wert kann zum Beispiel sehr hoch<br />

sein, wenn das System zahlreiche Tabellensuchen ausführt <strong>und</strong> Millionen von<br />

Zeilen geprüft werden müssen, um festzustellen, ob sie den Bedingungen für<br />

die Ergebnismenge entsprechen. An<strong>der</strong>erseits kann dieser Statistikwert sehr<br />

niedrig sein, wenn auf eine Tabelle über einen vollständig qualifizierten eindeutigen<br />

Index zugegriffen wird. Zugriffspläne mit reinem Indexzugriff (bei<br />

denen keine Zeilen aus <strong>der</strong> Tabelle gelesen werden müssen) erhöhen den Wert<br />

für ROWS_READ nicht.<br />

In einer OLTP-Umgebung ist dieser Messwert im Allgemeinen nicht höher als<br />

2 o<strong>der</strong> 3, was darauf hinweist, dass <strong>der</strong> Zugriff überwiegend über Indizes <strong>und</strong><br />

nicht durch Tabellensuchen erfolgt. Dieser Messwert bietet eine einfache Methode,<br />

die Planstabilität über einen Zeitraum hinweg zu überwachen: Eine unerwartete<br />

Erhöhung ist häufig ein Hinweis darauf, dass ein Index nicht mehr<br />

verwendet wird. Dies sollte untersucht werden.<br />

5. Der Zeitaufwand für das Sortieren pro Transaktion:<br />

TOTAL_SORT_TIME / TOTAL_COMMITS<br />

Dies ist eine effiziente Methode zur Behandlung von Sortierstatistiken, weil<br />

zusätzlicher Zeitaufwand für Sortierüberläufe automatisch in diesem Wert berücksichtigt<br />

wird. Trotzdem kann es auch sinnvoll sein, die Werte TOTAL-<br />

_SORTS <strong>und</strong> SORT_OVERFLOWS zur bequemen Analyse zu erfassen, insbeson<strong>der</strong>e<br />

wenn Ihr System bereits in <strong>der</strong> Vergangenheit Sortierprobleme hatte.<br />

6. Aufgelaufene Wartezeit pro Tausend Transaktionen:<br />

1000 * LOCK_WAIT_TIME / TOTAL_COMMITS<br />

Übermäßige Wartezeiten auf Sperren schlagen sich häufig in einer schlechten<br />

Antwortzeit nie<strong>der</strong>, sodass es wichtig ist, die Wartezeit zu überwachen. Der<br />

Wert wird auf ein Tausend Transaktionen normalisiert, weil die Wartezeit auf<br />

Sperren für eine einzelne Transaktion in <strong>der</strong> Regel recht gering ist. Die Skalierung<br />

auf ein Tausend Transaktionen stellt Messwerte zur Verfügung, die leichter<br />

zu handhaben sind.<br />

7. Die Anzahl von Deadlocks <strong>und</strong> Überschreitungen von Sperrzeitlimits pro Tausend<br />

Transaktionen:<br />

1000 * (DEADLOCKS + LOCK_TIMEOUTS) / TOTAL_COMMITS<br />

Während Deadlocks in den meisten Produktionssystemen vergleichsweise selten<br />

auftreten, können Überschreitungen von Sperrzeitlimits häufiger vorkommen.<br />

Die Anwendung muss sie gewöhnlich auf ähnliche Weise behandeln: Die<br />

Ausführung <strong>der</strong> Transaktion muss von Anfang an wie<strong>der</strong>holt werden. Die<br />

Überwachung <strong>der</strong> Rate, mit <strong>der</strong> solche Fälle auftreten, hilft bei <strong>der</strong> Vermeidung<br />

einer Situation, in <strong>der</strong> viele Deadlocks o<strong>der</strong> Überschreitungen von Sperrzeitlimits<br />

eine erhebliche Zusatzbelastung im System verursachen, ohne dass<br />

sich <strong>der</strong> Datenbankadministrator dessen bewusst ist.<br />

8. Die Anzahl von Triggern zum Stehlen (Neuzuordnung) genutzter Seiten pro<br />

Tausend Transaktionen:<br />

1000 * POOL_DRTY_PG_STEAL_CLNS / TOTAL_COMMITS<br />

Das „Stehlen (Neuzuordnen) genutzter Seiten” ist die am wenigsten wünschenswerte<br />

Methode zur Auslösung einer Pufferpoolbereinigung. Im Wesentlichen<br />

wird die Verarbeitung einer SQL-Anwendung, die eine neue Puffer-<br />

Kapitel 2. Tools <strong>und</strong> Vorgehensweise bei <strong>der</strong> Leistungsüberwachung 17

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!