Performance-Analyse im CCMS durchführen 
Datenbankadministratoren werden von Anwendern oft gebeten herauszufinden, weshalb die Performance Ihres SAP-Systems schlecht ist. Bei der Untersuchung des Problems gibt es viele Faktoren zu beachten.
Hinweis
Für die SAP liveCache-Technologie finden Sie einige spezielle Anmerkungen in Performance-Analyse im CCMS: SAP liveCache-Technologie.
Da die Suche recht lange dauern kann, sollten Sie möglichst viele Hintergrundinformationen erfragen.
War eine Anwendung/Transaktion des SAP-Systems schon immer langsam, oder haben Sie die Verlangsamung erst vor kurzem bemerkt?
Handelt es sich um ein neues Programm bzw. eine neue Anwendung/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 eine Anwendung/Transaktion langsam oder laufen auch weitere Anwendungen/Transaktionen langsam?
Versuchen Sie anhand der ermittelten Informationen, den Performance-Engpass zu lokalisieren. Wenn sich das Problem auf eine bestimmte Anwendung oder Transaktion 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 SQL-Anweisungen im Programm behilflich sein.
Verwenden Sie den Systemlastmonitor, um einen ersten Überblick über die Antwortzeiten aller Komponenten Ihres SAP-Systems zu erhalten. Untersuchen Sie insbesondere in der Systemlastübersicht für die Dialog-Task die Information mittlere Antwortzeit/Dialogschritt (ms). Die mittlere Antwortzeit der Dialog-Task sollte unter einer Sekunde liegen. Ist dieser Wert kritisch, können Sie mittels der Information Anteil Datenbankzeit an Antwortzeit (%) ermitteln, wie groß der Anteil der Datenbankanforderungen an der Gesamtantwortzeit der Dialog-Task ist. Wenn der Anteil der Datenbankanforderungen an der Gesamtantwortzeit höher als 50 % ist, könnte das ein Indiz dafür sein, dass ein Datenbankproblem zu den Performance-Engpässen führt.
Eine Datenbank-Performance-Analyse durchzuführen bedeutet, dass Sie eine Fülle von Einstellungen, Zugriffszeiten, Trefferraten Ihres Datenbanksystems überprüfen können und dann gegebenenfalls die Anwendungen in weitere Analysen einbeziehen müssen. Die folgenden Vorschläge können daher nur eine lockere Sammlung von Ideen sein, da jede Performance-Analyse ganz individuell ablaufen wird.
Um Performance-Engpässe zu analysieren, können Sie eine Reihe von CCMS-Transaktionen verwenden, insbesondere das DBA Cockpit, den Datenbank- bzw. liveCache-Assistenten und den Datenbank- bzw. liveCache-Alert-Monitor. Für Experten stehen weitere Datenbankwerkzeuge zur Verfügung, wie z.B. Database Studio, Database Analyzer und XCONS. Sie können viele notwendige DBA-Aktionen automatisieren, um Ihre Datenbank optimal einzustellen und zu verwenden: Automatisieren von Datenbankverwaltungsaktionen.
Hinweis
Die Dokumentation für das SAP MaxDB-Datenbanksystem gilt üblicherweise auch für die SAP liveCache-Technologie. Auf funktionale Unterschiede wird gegebenenfalls hingewiesen.
Das Datenbank-Monitoring wird automatisch bei Start der Datenbank aktiviert, so dass die Statistikdaten ab dem letzten Start des Datenbanksystems ermittelt werden. Gegebenenfalls können Sie die Monitordaten zurücksetzen.
siehe auch: Datenbank-Monitoring
Um eine aussagekräftige Performance-Analyse durchführen zu können, sollte es sich um ein eingeschwungenes System handeln. Die Leseaktionen im Data-Cache sollten mindestens 20.000.000 erreicht haben
siehe auch: Caches
Der Database Analyzer sollte immer aktiviert sein. Der Database Analyzer wird mit Start eines SAP-Systems für die Basis-Datenbank dieses Systems bzw. mit Start des liveCache automatisch gestartet. Gegebenenfalls sollten Sie den Database Analyzer explizit starten.
siehe auch: Database Analyzer
Aktualisieren Sie regelmäßig die Statistiken des SQL-Optimierers. Veranlassen Sie Performance-Analysen einzelner SQL-Anweisungen (insbesondere von Join-Anweisungen) erst, wenn gegebenenfalls die Statistiken aktualisiert wurden. Im DBA-Einplanungskalender sollte das Aktualisieren der SQL-Optimiererstatistiken regelmäßig eingeplant sein. Überprüfen Sie, dass diese Einplanungen erfolgreich ausgeführt wurden und damit die Statistiken des SQL-Optimierers aktuell sind.
siehe auch: Aktualisieren der SQL-Optimiererstatistiken
Überprüfen Sie die Einstellungen Ihrer Datenbankparameter. Weitere Informationen dazu finden Sie unter anderem in den Erläuterungen zu den Datenbankparametern und im SAP-Hinweis 814704. Korrigieren Sie gegebenenfalls die Datenbankparametereinstellungen.
siehe auch: Parameter
Überprüfen Sie die Zugriffe auf die Platten, d.h. die Lese- und Schreiboperationen insbesondere auf den Data-Volumes. Besonders hohe I/O-Zeiten können auf auf eine große Last im System hinweisen. Überprüfen Sie daher auch generell die Aktivitäten in Ihrem Datenbanksystem (läuft eine Sicherung, gibt es viele Leseaktionen von Platte seit dem letzten Datenbankstart, usw.).
siehe auch: I/O-Operationen
Überprüfen Sie die Trefferraten im Data-Cache und im Catalog-Cache. Die Datenbank-Performance kann leiden, wenn zu viele Daten von den Platten gelesen werden müssen. Daher sollten möglichst viele Zugriffe auf die Datenbanktabellen und andere Daten der Datenbank über die in den Caches vorhandenen Daten abgedeckt werden können.
siehe auch: Caches
Überprüfen Sie die Logging-Aktivität. Insbesondere sollte es zu keinen Log-I/O-Queue-Überläufen kommen.
siehe auch: Übersicht Aktivitäten
Sie können die Cache-Trefferraten und weitere Datenbankinformationen unter Verwendung der Analyse der Engpässe mit dem Database Analyser detaillierter untersuchen. In der Analyse der Engpässe stehen Ihnen eine Reihe von Messdaten über einen längeren Zeitraum zur Verfügung.
siehe auch: Engpässe
Gegebenenfalls können Sie zeitweise zusätzlich die DB-Zeitmessung im Task-Manager aktivieren und so aktuelle Messdaten zu I/O- und Ausführungszeiten erhalten.
siehe auch: Task-Manager
Wenn ein Performance-Problem aktuell gemeldet wird, können Sie gezielt die User-Tasks überprüfen. Aktivieren Sie dazu das automatische Auffrischen des Task-Mangers und beobachten Sie die User-Tasks und ihre Task-Zustände. Üblicherweise sollten die meisten User-Tasks den Status Running haben. Der Status I/O Wait sollte wesentlich seltener , Statusangaben wie Vwait, Vbegexlc und Vsuspend gar nicht zu finden sein.
siehe auch: Task-Manager
Lassen Sie sich die offenen Datenbanktransaktionen anzeigen und untersuchen Sie diese genauer.
siehe auch: Transaktionen
Finden Sie heraus, ob exklusive Wartesituationen aufgetreten sind. Schreibsperren (exclusive) bewirken, dass andere Benutzer nicht auf den gesperrten Eintrag zugreifen können. Diese Sperren können die Datenbank-Performance erheblich beeinträchtigen.
siehe auch: SQL-Sperren: Wartesituationen, Sperren
Führen Sie Laufzeitanalysen eventuell langlaufender SQL-Anweisungen mit Hilfe des Kommandomonitors durch.
siehe auch: Kommandomonitor
Indizes sind für den schnellen und effizienten Zugriff auf die Daten einer Datenbank unerlässlich. Sie sollten daher in regelmäßigen Abständen überprüfen, ob Indizes im Datenbanksystem fehlen oder defekt sind. Fehlende Indizes sollten Sie sofort neu erstellen, da sie für den Betrieb des Datenbanksystems sehr wichtig sind.
siehe auch: Indexanalyse
Überprüfen Sie, welche SQL-Anweisungen die meisten Plattenzugriffe verursachen und optimieren Sie gegebenenfalls diese SQL-Anweisungen.
siehe auch: SQL-Optimierer im CCMS, Database Administration, SQL Optimizer
SAP-Hinweis 819641 (FAQ: MaxDB Performance)
SAP-Hinweis 819324 (FAQ: MaxDB SQL Optimization)
Database Administration
Concepts of the Database System, Tasks
Dokumentation zu Database Analyzer, XCONS