Sashkin - Fotolia
Datenbank-Performance: Diese drei Punkte deuten auf Leistungsprobleme hin
Es gibt viele Arten von Datenbank-Performance-Problemen, deren Ursachen oft nur schwer herauszufinden sind. Verschiedene Tools können hierbei helfen.
Hinweis der Redaktion: Dies ist der zweite Artikel einer vierteiligen Serie über Datenbank-Performance-Tools. Der erste Artikel legt den Grundstein und stellt verschiedene Tool-Arten vor und wie sie verwendet werden. Der dritte Artikel zeigt, wie man herausfindet, welche Funktionen für eine Organisation wichtig sind. Der abschließende vierte Artikel stellt Datenbank-Performance-Tools verschiedener Anbieter vor.
Nichts ist perfekt. Das gilt auch für Datenbanken. Selbst hervorragend designte Datenbanken erleben in der täglichen Praxis immer wieder Leistungsprobleme. Egal wie gut Datenbankstrukturen definiert wurden oder wie exzellent der geschriebene SQL-Code ist: Es kann schiefgehen – und es geht auch schief. Das hat unschöne Auswirkungen. Wenn Leistungsprobleme nicht schnell korrigiert werden, kann dies nachteilig für das ganze Unternehmen sein.
Ein recht häufiges Szenario ist folgendes: Die Datenbank-Performance verschlechtert sich, als Folge davon verlangsamen sich Geschäftsprozesse innerhalb der Organisation, und Nutzer wie Mitarbeiter oder Lieferanten beschweren sich. Aber das ist nicht das Schlimmste. Viel gravierender ist Folgendes: Wenn die Leistung von Anwendungen wie Online-Shops schlecht wird, können Unternehmen den Unmut von Kunden auf sich ziehen und diese verlieren. Schließlich bestätigen Markstudien immer wieder, dass Kunden, die lange auf Anwendungen warten müssen, sich anderweitig orientieren.
Da die Performance von Datenbanksystemen und -anwendungen von einer Vielzahl von Faktoren beeinflusst werden kann, sind Werkzeuge, die die Ursachen von Problemen der Datenbankleistung finden und beheben können, unerlässlich. Das gilt insbesondere für Unternehmen, die auf Datenbank-Management-Systeme (DBMS) angewiesen sind, um ihre unternehmenskritischen Anwendungen auszuführen. Und in der heutigen datenbankzentrierten IT-Welt ist das bei den meisten Unternehmen der Fall.
Nach bestimmten Leistungsproblemen suchen
Es gibt viele Arten von Datenbank-Performance-Problemen, deren Ursachen oft nur schwer herauszufinden sind. So ist es zum Beispiel denkbar, dass die Datenbankstrukturen oder der Anwendungs-Code von Anfang an schlecht oder fehlerhaft sind. Suboptimale oder fehlerhafte Entscheidungen beim Datenbankentwurf und falsch codierte SQL-Anweisungen führen oft auch zu schlechter Leistung.
Es kann aber auch sein, dass ein System zwar anfänglich gut entworfen wurde, aber Änderungen im Laufe der Zeit die Performance in die Knie zwingen. Immer mehr Daten, immer mehr Benutzer und unterschiedliche Datenzugriffsmuster können die besten Datenbankanwendungen verlangsamen. Sogar die Wartung eines DBMS – oder eine unregelmäßige Datenbankwartung – kann die Leistung schnell verschlechtern.
Im Folgenden stellen wir drei wichtige Indikatoren vor, die Ihre IT-Abteilung auf Datenbank-Performance-Probleme hinweisen:
- Verlangsamung von Anwendungen. Der wichtigste Hinweis auf potenzielle Probleme bei der Datenbankleistung ist, wenn Dinge, die für gewöhnlich schnell ausgeführt werden, plötzlich langsamer laufen. Dies betrifft insbesondere Online-Transaction-Processing-Systeme (OLTP), die von Mitarbeitern oder Kunden verwendet werden, oder Batch-Jobs, die in großen Mengen Daten für Aufgaben wie die Gehaltsabrechnung oder die monatliche Berichterstattung verarbeiten.Solche Arbeitsabläufe ohne Datenbank-Performance-Management-Tools zu überwachen kann schwierig sein. In diesem Fall müssen sich Datenbank-Administratoren (DBAs) und Performance-Analysten auf andere Methoden zur Erkennung von Problemen verlassen. Das können zum Beispiel Beschwerden von Endbenutzern darüber sein, dass der Ladevorgang einer Anwendung sehr lange dauert oder dass nach der Dateneingabe in ein Programm lange nichts passiert.
- Systemausfälle. Wenn ein System ausfällt, ist die Datenbankleistung offensichtlich am Nullpunkt angelangt. Totalausfälle können durch verschiedene Probleme verursacht werden, wie Speichermangel wegen zunehmender Datenmengen oder der Nicht-Verfügbarkeit von Ressourcen, zum Beispiel einem Datensatz, einer Partition oder einem Paket.
- Die Notwendigkeit häufiger Hardware-Upgrades. Organisationen, die ständig ihre Server auf größere Modelle mit mehr Arbeitsspeicher und Storage aktualisieren, sind oft Kandidaten für Datenbank-Performance-Tuning. Das Optimieren von Datenbank-Parametern, das Tuning von SQL-Anweisungen und das Reorganisieren von Datenbankobjekten kann preiswerter sein als häufige Upgrades auf teure Hardware und andere Geräte.
Allerdings werden manchmal Hardware-Upgrades benötigt, um Probleme mit der Datenbankleistung zu beheben. Aber mit dem richtigen Datenbank-Monitoring und dem richtigen Management Tools ist es möglich, die Upgrade-Kosten zu verringern, indem man die Ursache des Problems ermittelt und geeignete Schritte zu deren Behebung einleitet. Beispielsweise kann es kostengünstig sein, den Arbeitsspeicher zu erweitern oder schnellere Speichergeräte zu implementieren. Auf diese Weise können I/O-Engpässe behoben werden, die die Leistung einer Datenbank beeinflussen. Und dies ist wahrscheinlich billiger, als einen Server zu ersetzen.
Probleme, die Tools beheben können
Wenn Probleme mit der Datenbankleistung auftreten, ist es unwahrscheinlich, dass ihre genaue Ursache sofort offensichtlich ist. Ein DBA muss vage Beschwerden von Endbenutzern in spezifische leistungsbezogene Beschreibungen übersetzen, die die beschriebenen Probleme verursachen können. Dies kann ein schwieriger und fehleranfälliger Prozess sein, insbesondere ohne automatisierte Werkzeuge, die den DBA leiten und lenken.
Das Sammeln von Metriken der Datenbanknutzung und die Identifizierung spezifischer Datenbankprobleme – zusammen mit der Information, wie und wann sie auftreten – sind vielleicht die zentralen Fähigkeiten von Datenbank-Performance-Tools. Wenn der DBA mit einer Leistungsbeschwerde konfrontiert wird, kann er ein Werkzeug verwenden, um aktuelle und vergangene kritische Bedingungen herauszufinden. Statt die Ursache des Problems aufwendig manuell zu suchen, kann die Software die Datenbank schnell überprüfen und mögliche Probleme diagnostizieren.
Bei den meisten Datenbank-Performance-Tools lassen sich auch Schwellenwerte festlegen, die nach dem Überschreiten eines kritischen Wertes den DBA auf ein Problem hinweisen oder eine Anzeige auf dem Monitor von Grün auf Gelb oder Rot umstellen. Darüber hinaus können DBAs Berichte über die Datenbank-Performance anfordern, die in regelmäßigen Abständen automatisch erstellt werden. So lassen sich Probleme, die angegangen werden müssen, sofort identifizieren. Fortgeschrittene Werkzeuge können sowohl die Probleme identifizieren als auch helfen, diese zu beheben.
Betrachten wir einmal das folgende, häufig vorkommende Szenario: Ein Endanwender ruft den DBA an und moniert, dass eine bestimmte Anwendung nicht so schnell reagiert, wie sie das sonst tut. Der DBA, ausgerüstet mit einem Performance Tool, überprüft die Schwellenwerte und hält Ausschau nach Hinweisen. Indem er die Bedingungen für die Schwellenwerte prüft, kann der DBA mit dem Tool die Engpässe identifizieren, die Konflikte verursachen, und das Problem beheben. Das ist ein erheblicher Fortschritt im Vergleich zu einem DBA, der über keine Werkzeuge verfügt.
Da es viele unterschiedliche Arten von Leistungsproblemen gibt, sollten fortgeschrittene Performance Management Toolsets über ein ganzes Bündel von Funktionalitäten verfügen. Zu den zentralen Features von Datenbank-Performance-Tools gehören:
- Überprüfung und Optimierung der SQL-Leistung;
- Analysieren der Wirksamkeit der vorhandenen Indizes für SQL;
- Anzeigen von Speicherplatz und – falls notwendig – Defragmentierung von Datenträgern;
- Beobachtung und Management der Nutzung von Systemressourcen;
- Simulation der Produktion in einer Testumgebung;
- Ursachenanalyse von Datenbankproblemen.
Kein Warten auf Leistungssteigerung
Organisationen, die Datenbank-Performance-Tools permanent bereitstellen, können länger anhaltende Perioden mit schlechter Performance vermeiden. Diese Tools sind in der Lage, den Zeitaufwand zu minimieren, der zum Lösen von Performance-Problemen erforderlich ist, und manchmal tragen sie sogar dazu bei, dass Unternehmen Leistungsprobleme und Ausfälle ganz vermeiden. DBAs sind mit solchen Tools beispielsweise in der Lage mögliche Performane-Probleme statt nur reaktiv auch proaktiv anzugehen und diese im Vorfeld bereits zu vermeiden. Anstatt auf Performance-Symptome zu warten, die von Usern gemeldet werden, lassen sich Probleme im Vorfeld aufdecken und Korrekturmaßnahmen ergreifen, entweder vom DBA oder automatisch durch ein Tool – und das möglicherweise schon, bevor Benutzer überhaupt ein Problem entdecken.
Darüber hinaus können die Tools Unternehmen auch helfen, ihre Service-Levels, die ja ein Maß für das operative Verhalten von IT-Systemen sind, effektiv zu managen. Das Service Level Management sorgt dafür, dass sich Anwendungen nach Vorgabe verhalten und nur angemessene Ressourcen auf Basis ihrer Bedeutung für die Organisation verwenden. Datenbank-Performance-Software kann DBAs dabei unterstützen, die Verfügbarkeit und Reaktionszeiten der gemessenen Prozesse zu überwachen und zu verwalten.
Tools, die die Leistung der Datenbank überwachen und verwalten, sind entscheidende Komponenten einer Infrastruktur, die es Unternehmen ermöglicht, ihren Kunden und Endanwender effektiv Services zu liefern. Nachdem Sie die Arten von Performance-Problemen kennengelernt haben, die auftreten können, und erfahren haben, wie Datenbank-Performance-Tools helfen können, besteht der nächste Schritt darin, die wichtigsten Fähigkeiten der verschiedenen Arten von Datenbank-Performance-Management-Tools vorzustellen.
Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!