Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Probieren Sie diese Best Practices für die MySQL-Datenbanküberwachung aus

Die Aufmerksamkeit des Managements zu bekommen ist eine gute Sache, wenn es aus positiven Gründen geschieht. Aber viele Datenbankadministratoren würden es vorziehen, dem Radar fernzubleiben. Da DBAs dafür verantwortlich sind, dass die Datenbanken der Organisation reibungslos funktionieren, können sich DBAs im Allgemeinen zurückhalten und in Ruhe ihrer Arbeit nachgehen, wenn die Dinge richtig laufen. Aber wenn etwas schief geht, stehen Sie plötzlich ganz oben auf der Most Wanted-Liste des Unternehmens.

DBAs tragen viel Verantwortung innerhalb einer Organisation, und es gibt viele Möglichkeiten, wie die Dinge schief gehen könnten, aber wenn Sie ein paar Best Practices für die Überwachung von MySQL-Datenbanken befolgen, können Sie sicher sein, dass Sie vom Management eher für Ihren messerscharfen Verstand als für die Datenbank anerkannt werden Ausfall, dessen Behebung drei Tage dauerte.

Führen Sie regelmäßige Zustandsprüfungen Ihrer Datenbank durch

Für einen MySQL-DBA ist die Planung regelmäßiger Zustandsprüfungen für Ihre Datenbanken fast so wichtig wie die Planung für Sie selbst (Hinweis:Betrachten Sie dies als Ihre Erinnerung, einen Termin für die Untersuchung zu vereinbaren, die Sie aufgeschoben haben!).

Wie Menschen haben nicht alle Datenbanken denselben Wartungsbedarf, daher sollten Zustandsprüfungen auf die spezifischen Funktionsanforderungen der Datenbank zugeschnitten werden. Beispielsweise müssen geschäfts- oder lebenskritische Datenbanken häufiger überprüft werden als nicht kritische Datenbanken. Der Ausfall eines Raketenabwehrsystems hat weitaus schwerwiegendere Auswirkungen als der Ausfall des Treueprogramms eines örtlichen Buchladens.

Beim Einrichten Ihrer routinemäßigen Zustandsprüfungen sollten Sie sich auf einige Bereiche konzentrieren, die Informationen liefern, die Ihnen helfen, laufende MySQL-Probleme zu ermitteln, die angegangen werden müssen.

MySQL-Verfügbarkeit

Die Verfügbarkeit ist wahrscheinlich die wichtigste Metrik, die es zu verfolgen gilt. Wenn die Datenbank nicht verfügbar ist, macht es wenig Sinn, den Rest dieser Metriken zu verfolgen, bis es behoben ist. Führen Sie -mysqladmin -h 192.168.1.95 -u root -p status aus, um die Verfügbarkeit zu prüfen, und beginnen Sie dann mit der Diagnose, wenn ein Problem vorliegt.

Fehlgeschlagene Verbindungen

Durch die Verfolgung der Anzahl fehlgeschlagener Verbindungen im Laufe der Zeit können böswillige Aktivitäten sowie weniger schwerwiegende Fehler innerhalb der Anwendung wie falsch angewendete Berechtigungen und falsche Kennwörter erkannt werden.

Führen Sie den Befehl SHOW GLOBAL STATUS LIKE ‘aborted_connects’ aus; um festzustellen, wie viele abgebrochene Verbindungsversuche es in einem bestimmten Zeitraum in der Datenbank gegeben hat.

Fehlerprotokolle

Die Überwachung von Fehlerprotokollen ist eine großartige Möglichkeit, um zu sehen, welche Fehler aufgetreten sind und ob es Muster gibt, die auf ein größeres wiederkehrendes Problem hindeuten, das behoben werden muss.

Deadlocks in InnoDB

MySQL-Deadlocks treten auf, wenn verschiedene Transaktionen eine Ressource sperren, die die andere Transaktion benötigt. Deadlocks führen zu langsamer Verarbeitung und Zeitüberschreitungen – und verärgerten Benutzern. Verwenden Sie SHOW ENGINE INNODB STATUS; um Deadlocks zu lokalisieren und zu lösen.

Konfigurationsänderungen

Ein plötzlicher Leistungsabfall kann durch ein Dutzend verschiedene Dinge verursacht werden. Sie können sich jedoch etwas Zeit bei der Fehlerbehebung sparen, indem Sie die letzten Konfigurationsänderungen überprüfen und alle anpassen, die sich negativ auf die Leistung auswirken.

Protokoll für langsame Abfragen

Langsame Abfragen führen dazu, dass die Datenbank langsamer ausgeführt wird, da sie übermäßig viel CPU und Arbeitsspeicher verbrauchen. Überprüfen Sie regelmäßig das Protokoll für langsame Abfragen, um festzustellen, ob Abfragen eine übermäßige Laufzeit aufweisen, und führen Sie dann eine Fehlerbehebung durch, um die Grundursache zu ermitteln und zu beheben.

Sichtbarkeit bewahren, um die Hauptursache von MySQL-Leistungsproblemen zu verstehen

Die Durchführung regelmäßiger Zustandsprüfungen für MySQL-Datenbanken ist unerlässlich, um eine hohe Verfügbarkeit aufrechtzuerhalten und chronische Leistungsprobleme zu minimieren, aber es gibt einige Einschränkungen hinsichtlich der Nützlichkeit von Zustandsprüfungen für die allgemeine Systemfehlerbehebung.

Da periodische Leistungsprobleme während routinemäßiger Zustandsprüfungen möglicherweise nicht auftauchen, ist es wichtig, eine kontinuierliche Transparenz Ihrer MySQL-Umgebung herzustellen. Das schnelle Identifizieren und Beheben von Leistungsproblemen bedeutet weniger Ausfallzeiten und weniger Leistungsprobleme, die sich negativ auf die Benutzer auswirken.

Eine der besten Möglichkeiten, um die Einsicht in MySQL-Datenbanksysteme aufrechtzuerhalten, besteht darin, Warnungen für kritische Ereignisse festzulegen, damit Sie schnell reagieren können, wenn ein Schwellenwert überschritten wird, und die Ursache des Problems ermitteln können.

Sie sollten mindestens Warnschwellenwerte für die folgenden häufigen Quellen von Leistungseinbußen festlegen:

  • Erhebliche Abweichungen von den grundlegenden MySql-Leistungsmetriken
  • Hohe CPU-Auslastung
  • Abfragelatenz
  • Abfragefehler
  • Verbindungslimits
  • Pufferpoolnutzung

Leistungsprobleme schnell erkennen und beheben

In einer kleinen, statischen Umgebung können Sie möglicherweise mit der Nachverfolgung der Leistung durch interne Skripts davonkommen, aber die Skripts ersetzen nicht die proaktive Überwachung, die erforderlich ist, um mit großen, dynamischen Systemen Schritt zu halten, die ständig wachsen.

In fast jeder Situation ist ein kommerzielles Datenbanküberwachungstool die beste Wahl, um Probleme schnell zu identifizieren und zu lösen, bevor sie größere Probleme verursachen.

Es gibt viele Leistungsüberwachungstools auf dem Markt, die eine breite Palette von Funktionen zu vielen verschiedenen Preispunkten bieten. Bei der Auswahl des richtigen Tools für Ihr Unternehmen kommt es darauf an, welches Ihren spezifischen Anforderungen am besten gerecht wird, und das zu einem Preis, der Ihrem Budget entspricht.

Obwohl es kein universelles Tool gibt, gibt es einige wichtige Datenbanküberwachungsfunktionen, nach denen Sie in jedem Leistungsüberwachungstool suchen sollten, das Sie in Betracht ziehen:

  • Skalierbarkeit
  • Mobile Überwachung
  • Intuitive Benutzeroberfläche
  • Budgetfreundlich, aber reich an Funktionen
  • Keine Verbindungskappe
  • Multidimensionale Workload-Analyse
  • Analyse der Alarmursache
  • Blockierungsanalyse
  • Intelligente Alarme
  • Verlaufsdatenverfolgung