MySQL ist ein quelloffenes, relationales Datenbankmanagementsystem, das auf der Structured Query Language (SQL) basiert. MySQL wird von Entwicklerteams in einer Vielzahl von Anwendungsfällen eingesetzt, am häufigsten in Data-Warehousing-, E-Commerce- und Protokollierungsanwendungen. Am beliebtesten ist jedoch der Einsatz in Web-Datenbanken, da es äußerst flexibel, zuverlässig und skalierbar ist. Es kann zur Speicherung von einzelnen Datensätzen bis hin zu vollständigen Produktinventaren verwendet werden.

DNS-DPM-Banner-Horizontal_728x90

SQL Server hingegen ist ein kommerzielles relationales Datenbankmanagementsystem, das zuerst von Microsoft entwickelt wurde. Wie MySQL unterstützt auch SQL Server viele Plattformen, darunter Linux, Microsoft Windows und Windows Server-Systeme. Am häufigsten wird SQL Server von Entwicklern für .Net-Anwendungen und Windows-Projekte eingesetzt. Als kommerzielles Produkt wird SQL Server von einer größeren Gemeinschaft unterstützt.

In diesem Leitfaden werde ich einige Metriken vorstellen, die Ihnen bei der Leistungsoptimierung helfen. Ich werde auch einige der besten SQL Server- und MySQL-Tools auf dem Markt besprechen, einschließlich der Lösung, die ich am meisten empfehle – SolarWinds® Database Performance Analyzer – aufgrund seiner robusten Überwachungs- und Analysefunktionen, die kein anderes Tool auf dem Markt bietet.

MySQL-Leistung

Best Practices zur Überwachung der SQL- und MySQL-Leistung
Best MySQL and SQL Server Performance Tuning Tools
Datenbanküberwachung ist ein Muss. Richtig machen, kontinuierlich durchführen und profitieren

Bewährte Praktiken für die Überwachung der SQL- und MySQL-Leistung

Der wichtigste Aspekt bei der Überwachung Ihrer SQL-Leistung besteht darin, wohlüberlegte Entscheidungen darüber zu treffen, welche Metriken und Warnmeldungen Sie überwachen müssen. Obwohl dies zum Teil von Ihrem Unternehmen und Ihrer Branche abhängt, ist es im Allgemeinen eine gute Idee, die folgenden Prozesse zu überwachen:

  • Gebräuchliche Fehlerpunkte
  • Ressourcennutzung
  • Abfrageausführungen (Fehlschläge und Abschlüsse)

Neben der Überwachung dieser Prozesse sollten Sie auch bestimmte Metriken überwachen, die sich auf den Zustand Ihrer MySQL-Ansicht beziehen. Die folgenden sind ein guter Anfang:

  • Betriebszeit: Die Sekunde, die ein Server benötigt, um auf eine Anfrage zu antworten.
  • Verbundene Threads: Die Anzahl der Clients, die derzeit mit dem Server verbunden sind. Wenn niemand verbunden ist oder zu viele verbunden sind, kann dies ein Zeichen für ein Problem sein.
  • Max used connections: Die Anzahl der Verbindungen, die seit dem Start des Servers hergestellt wurden.
  • Abgebrochene Verbindungen: Die Anzahl der fehlgeschlagenen Verbindungsversuche. Eine zu hohe Anzahl könnte ein Zeichen für verdächtige Aktivitäten sein.

Entwicklungsteams sollten auch sicherstellen, dass sie die Metriken für SQL-Abfragen überwachen, um zu gewährleisten, dass die Datenbank ihre grundlegenden Aufgaben erfüllt. Einige Beispiele sind:

  • Fragen: Die Anzahl der von Clients gesendeten Anweisungen.
  • Abfragen: Die Anzahl der ausgeführten Anweisungen einschließlich gespeicherter Prozeduren.
  • Lese- und Schreibanfragen: Die Anzahl der Zugriffe von Benutzern und Entwicklern auf dieselbe Seite in Echtzeit.

Weitere wichtige Metriken, die für die Leistungsoptimierung von SQL Server oder MySQL erfasst werden müssen, sind typische SQL-Fehler. Dies sind die häufigsten Fehlerpunkte, die Sie immer im Auge behalten sollten:

  • Fehler: Überprüfen Sie immer, ob die Datei mysql.log fehlerfrei ist.
  • Größe der Protokolldateien: Überprüfen Sie die Log-Streams, um zu sehen, ob alle Dateien richtig rotiert werden. Wenn nicht, könnte es zu Engpässen auf Ihrem Server kommen.
  • Gelöschte Log-Dateien: Stellen Sie sicher, dass der Dateideskriptor nach dem Löschen von Protokolldateien geschlossen wird.
  • Backup-Speicherplatz: Vergewissern Sie sich immer, dass Sie genügend Speicherplatz für Backups haben.

Die besten Tools zur Leistungsoptimierung von MySQL und SQL Server

Der Versuch, die oben genannten Metriken zu erfassen, ist ohne die richtigen Tools schwierig. Die folgenden Programme gehören zu den besten Werkzeugen für die Echtzeitüberwachung von SQL-Datenbanken, unabhängig davon, ob Sie MySQL, SQL Server oder eine andere relationale Datenbank verwenden.

  1. SolarWinds Database Performance Analyzer for MySQL

dpa-anomaly-detection

SolarWinds Database Performance Analyzer (DPA) bietet ein umfassendes Werkzeug zur Überwachung und Analyse der Datenbankleistung. Es ist eine hervorragende Lösung für Datenbankadministratoren, IT-Teams und Anwendungsentwickler gleichermaßen. Es unterstützt die Überwachung in Echtzeit und analysiert SQL-Datenbankinstanzen, um Engpässe zu entschärfen, Dienste zu verbessern und Kosten zu sparen. Wenn Sie beide Datenbanktypen verwenden, können Sie die Leistungsmetriken von MySQL und SQL Server problemlos vergleichen.

Diese plattformübergreifende Lösung für die Überwachung der Datenbankleistung funktioniert sowohl in der Cloud als auch in lokalen Datenbanken und ist damit die ideale Wahl für eine Reihe unterschiedlicher Unternehmen. Sie verfügt über zahlreiche hilfreiche Funktionen, wie die auf maschinellem Lernen basierende Erkennung von Anomalien und eine ausführliche Analyse der Wartezeiten. Diese Funktionen ermöglichen es IT-Administratoren, die mittlere Zeit bis zur Problemlösung zu verkürzen und Probleme mit der Datenbankleistung schneller zu beheben.

Eine der besten Funktionen ist, dass sie IT-Teams sowohl Echtzeit- als auch historische Daten über ihre MySQL-Leistung bietet, indem sie Antwortzeiten und Serverstatistiken im Data-Warehouse-Repository (das direkt für Ihre MySQL-Datenbank konfiguriert werden kann) verfolgt. Diese Einblicke ermöglichen es DBAs, kritische Probleme mit einem besseren Verständnis ihrer Serverinfrastruktur anzugehen.

Darüber hinaus ist SolarWinds DPA unglaublich einfach zu bedienen. Sie können benutzerdefinierte Warnmeldungen einstellen, benutzerdefinierte Metriken erstellen und sogar grafische Leistungsberichte planen und diese per E-Mail an das zuständige IT-Team senden lassen. Um herauszufinden, ob DPA die beste Lösung für Ihre MySQL-Überwachungsanforderungen ist, können Sie das voll funktionsfähige Tool 14 Tage lang risikofrei herunterladen.

PROS:

  • Es unterstützt eine Vielzahl von Datenbanken, sowohl in der Cloud als auch vor Ort.
  • Es ist einfach zu bedienen und dennoch flexibel und ermöglicht benutzerdefinierte Warnmeldungen, Metriken und mehr.
  • Es nutzt KI-gestützte Anomalieerkennung und verbessert die mittlere Zeit bis zur Lösung vieler Probleme.
  1. Idera Diagnostic Manager

Idera SQL Diagnostic Manager

Idera Diagnostic Manager bietet IT-Teams Leistungsüberwachung für SQL-Datenbanken in physischen und virtuellen Umgebungen. Er verfolgt Leistungsstatistiken und Schlüsselmetriken und kann so konfiguriert werden, dass er Warnmeldungen sendet, damit DBAs ihre VMs und Datenbanken besser verwalten können. Es ermöglicht IT-Teams auch die proaktive Überwachung von Abfragen zusammen mit der transaktionalen SQL-Überwachung und gibt Ihnen Empfehlungen für Ihr SQL-DBMS.

Mit Idera erhalten Sie nicht nur Einblick in die Verfügbarkeit und den Zustand, sondern auch in Sicherheitslücken und Konfigurationseinstellungen. Nutzen Sie einfache visuelle Diagramme für einen schnellen Überblick – analysieren Sie Metriken wie Speicherplatz oder verschaffen Sie sich einen Überblick über Server mit aktuellen Warnungen und Alarmen. Insgesamt ist dies ein nützliches und flexibles Tool zur Überwachung von SQL-Datenbanken.

PROS:

  • Idera ermöglicht eine proaktive Abfrageüberwachung und gibt Empfehlungen.
  • Es bietet Einblicke in Sicherheitsschwachstellen, Konfigurationsprobleme, Datenbankverfügbarkeit und -zustand.
  • Einfache Diagramme ermöglichen eine schnelle Visualisierung der wichtigsten Metriken und Serverwarnungen.
  1. SolarWinds Database Performance Monitor

SolarWinds-DPM

SolarWinds Database Performance Monitor (DPM) ist eine SaaS-Überwachungslösung, was bedeutet, dass Sie keine herkömmliche Anwendung kaufen oder warten müssen, was die Reibungsverluste für den Einstieg in die Anwendung drastisch reduziert.

Das Tool kann Datenbanken lokal, in der Cloud und hybrid überwachen und konzentriert sich auf Open-Source- und NoSQL-Datenbanken, zu denen nicht nur MySQL, sondern auch PostgreSQL und Redis gehören. DPM bietet 24/7-Echtzeit-Monitoring, um eine Vielzahl von Metriken zu verfolgen und diese dann über ein benutzerfreundliches und leistungsstarkes Dashboard anzuzeigen. Einige der unterstützten Metriken sind:

  • MTTD
  • MTTR
  • Einsatzhäufigkeit
  • Verfügbarkeit
  • Reduzierte fehlgeschlagene Einsätze

DPM nimmt die Sicherheit ernst und ist vollständig konform mit SOC2 und GDPR.

PROS:

  • Cloud-basierte Lösung, d.h. weniger Reibungsverluste bei der Einführung und Nutzung.
  • Echtzeitüberwachung rund um die Uhr für eine große Anzahl von Metriken.
  • Flexibles und dennoch einfach zu bedienendes Dashboard.
  1. SQL Power Tools

SQL Power Tools

Eine weitere gute Option für DBAs sind die SQL Power Tools. Diese als „Zero-Impact“-Lösung angepriesene agentenlose Datenbanküberwachungslösung bietet IT-Teams Zugriff auf über 120 verschiedene Metriken ihrer Serverinfrastruktur, von Wartezeiten und Blockierungen bis hin zu Speicherplatznutzung und Indexfragmentierung. Sie können 30-Tage-Trends anzeigen oder Warnmeldungen einrichten, um sofort informiert zu werden. Es handelt sich um ein zuverlässiges Leichtgewicht mit geringem Overhead, aber größere Unternehmen haben möglicherweise Schwierigkeiten, es ihren Anforderungen entsprechend zu skalieren.

PROS:

  • „Zero impact solution“ mit geringen Reibungsverlusten.
  • Große Anzahl von Metriken zur Überwachung der gesamten Serverinfrastruktur.
  • Leichtgewichtiges und zuverlässiges Tool für einfachere Szenarien.
  1. Percona Monitoring and Management Tool

percona-pmm-postgres-working-Postgres_exporter

Das Percona Monitoring and Management Tool ist eine kostenlose Open-Source-Lösung, mit der Administratoren ihre MySQL-Datenbanken überwachen und verwalten können. Percona kann vollständig in Ihr bestehendes IT-System integriert werden, so dass Administratoren sicher sein können, dass die Lösung in einer sicheren und zuverlässigen Umgebung betrieben wird. Darüber hinaus kann Percona Abfragen mit Metriken abgleichen, so dass Systemadministratoren bessere Entscheidungen zur Optimierung der MySQL-Leistung treffen können.

Da es sich um eine Open-Source-Lösung handelt, kann der Support eingeschränkt sein, und IT-Teams müssen auf einige der fortschrittlicheren Funktionen verzichten, die sie von einer Unternehmenslösung erwarten würden. Aber alles in allem ist es eine zuverlässige Option für viele Unternehmen.

PROS:

  • Zuordnung von Abfragen zu Metriken, so dass Administratoren die Abfragen bei der Optimierung der MySQL-Leistung berücksichtigen können.
  • Zuverlässige und leichtgewichtige Lösung, die sich am besten für einfachere Szenarien eignet.

  1. AppDynamics

appdynamics-mysql

Dieses für Unternehmen geeignete MySQL-Tool verfügt über eine Vielzahl umfassender Funktionen, die es zu einer hervorragenden Lösung für viele große Unternehmen machen. Zum einen bietet es IT-Teams Echtzeit-Einblicke in die Leistungs- und Zustandsdaten der MySQL-Datenbank, so dass sie Probleme effizient erkennen und beheben können. Darüber hinaus ermöglicht AppDynamics den IT-Teams die Festlegung von Basiswerten für die Leistungsstandards, die sie für ihre MySQL-Umgebungen als gesund erachten. Das Werkzeug sammelt dann neu generierte Metriken und zeigt sie im Vergleich zu den genannten Basiswerten an, so dass Administratoren ihre Systeme mit einem besseren Verständnis dafür überwachen können, was ein gesundes Verhalten ist.

Das einzige Problem mit AppDynamics ist, dass die Lösung in einem Lite-Plan und einem Pro-Plan erhältlich ist. Der Lite-Plan ist zwar kostenlos, bietet aber nur eingeschränkte Funktionen und die Datenspeicherung ist fast nicht vorhanden. Das Pro-Paket ist besser, aber teuer.

PROS:

  • Es bietet Echtzeit-Einblicke in die Leistungs- und Gesundheitsmetriken von MySQL.
  • Es ermöglicht den Benutzern, Grundlinien für eine gesunde Leistung zu definieren und dann neue Metriken auf diesen Grundlinien aufzubauen.

Datenbanküberwachung ist ein Muss. Richtig machen, ständig machen und profitieren

Datenbanken sind für praktisch jedes technologische Vorhaben von zentraler Bedeutung. Einige Unternehmen investieren zwar viele Ressourcen in ihre Datenbanken, scheinen sich aber nicht um deren Überwachung zu kümmern. Das ist verwunderlich, denn es ist so, als wolle man nicht wissen, wie sich eine Investition, noch dazu eine besonders kostspielige, auszahlt.

Wenn es um relationale Datenbanken geht, sind Microsoft SQL Server und MySQL zwei der beliebtesten Optionen. Während es sich bei ersterer um ein von einem riesigen Unternehmen entwickeltes Unternehmensangebot handelt, ist letztere ein freies und quelloffenes Tool, obwohl sie auch unter kommerziellen Lizenzen erhältlich ist. Da es sich um zwei weithin bekannte relationale Datenbanken handelt, gibt es ein riesiges Angebot an Datenbanküberwachungslösungen, die auf MySQL und SQL Server abzielen.

MySQL-Leistung

Obwohl alle von uns behandelten Tools ihre Vorzüge haben, ist meine erste Wahl SolarWinds Database Performance Analyzer. Wie ich bereits erwähnt habe, bietet DPA unvergleichliche Überwachungs- und Analysefunktionen.

Eine lobende Erwähnung geht an SolarWinds anderes Tool, Database Performance Monitor. DPM ist eine Cloud-basierte Lösung, bei der kein Download, keine Wartung und keine Bereitstellung erforderlich sind. Upgrades werden automatisch durchgeführt. Und da DPM eine SaaS-Lösung ist, die speziell auf Open-Source-Datenbanken abzielt, ist es eine solide Wahl für die MySQL-Überwachung.

Jetzt sollten Sie in der Lage sein, eine fundierte Entscheidung über das richtige Tool für Ihre MySQL- oder SQL-Server-Überwachungsanforderungen zu treffen.