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

Kennenlernen Ihrer SQL Server-Workload

Es gibt viele Einflussfaktoren, wenn es um die Datenbankleistung geht. Wenn Sie die normalen Schwankungen Ihrer speziellen Instanz kennen, indem Sie Ihren SQL-Server überwachen, können Sie erkennen, wann das Verhalten außer Kontrolle gerät, und Probleme antizipieren, bevor sie auftreten.

Es hilft Ihnen auch, zwischen natürlichen Wachstumsschmerzen zu unterscheiden, die durch erhöhte Arbeitslast oder saisonale Spitzen verursacht werden, die möglicherweise einfach mehr Ressourcen erfordern, und tieferen Leistungsproblemen, die eine Code-, Index- oder Konfigurationsoptimierung erfordern.

Sobald Sie eine Liste von SQL-Servern in Ihrer Umgebung erstellt haben, sollten Sie einige kritische Fragen stellen:

  • Wie gesund ist diese Instanz?
  • Wann wurde das letzte Mal gesichert?
  • Verfügt es über ausreichend CPU, Arbeitsspeicher und Speicherplatz, um sein SLA zu erfüllen?
  • Welche Workloads werden auf dieser Instanz ausgeführt?
  • Welche Anwendungen und Benutzer verwenden diese Instanz?
  • Wann ist die Arbeitsbelastung am höchsten?
  • Gibt es eine Failover-Strategie?
  • Ist dies eine geschäftskritische Instanz?
  • Muss es rund um die Uhr verfügbar sein?
  • Welche Leistungsherausforderungen hat diese Instanz?

Dies mögen offensichtliche Fragen sein, aber wenn Sie zum ersten Mal mit der Überwachung Ihrer SQL-Server-Workloads beginnen, werden Sie überrascht und möglicherweise ein wenig entsetzt sein, zu sehen, wie viele von ihnen grundlegende Probleme haben.

Leistungsziele für die SQL Server-Überwachung festlegen

Überlegen Sie, was Sie mit Ihren SQL Server-Überwachungsbemühungen erreichen möchten, und priorisieren Sie diese Ziele. Indem Sie Ihre Aktivitäten in Form von Leistungskennzahlen ausrichten, erleichtern Sie es, den Wert der Energie und der erforderlichen Investitionen zu artikulieren. Die folgende Liste hilft Ihnen beim Einstieg.

Hohe Verfügbarkeit

Was sind Ihre Verfügbarkeitsstatistiken? Denken Sie daran, dass eine Nichtverfügbarkeit für den Benutzer vorliegt, wenn er nicht auf den Dienst zugreifen kann. Dies kann durch einen vollständigen Ausfall oder durch einen Leistungsengpass verursacht werden, der den Dienst effektiv nicht verfügbar macht. Haben Sie eine Always-On-Konfiguration eingerichtet? Wenn ja, kennen Sie seinen Status?

Reaktionszeit

Wie schnell können Sie ab dem Zeitpunkt, an dem ein Problem gemeldet wird, die Ursache isolieren, die Symptome diagnostizieren und auf die Betroffenen reagieren?

Lösungszeit

Wie schnell können Sie das Symptom beheben, um den normalen Betrieb wiederherzustellen? Die „Klebepflaster“-Lösung ist ein wichtiger Anfang, soll aber nicht das Ende der Sache darstellen. Haben Sie die Ursache des Problems untersucht? Können Sie sicher sein, dass Sie keine Wiederholung sehen werden?

Die Betriebskosten Ihrer SQL Server-Instanzen verstehen

Die Betriebskosten sind ein kritischer Faktor bei der Entscheidung, wo sich Ihre SQL Server-Instanzen befinden sollen. Es ist wichtig, die Vorabinvestitionskosten im Zusammenhang mit Infrastruktur und Lizenzierung, die laufenden Wartungskosten und alle verbrauchsabhängigen Kosten abzuschätzen, die mit einer Cloud-basierten Arbeitslast verbunden sind.

Wenn Sie versuchen zu entscheiden, wie viel Ihre Instanz in der Cloud kosten wird, umfassen die kritischen Metriken CPU-Auslastung, Lese- und Schreibaktivität und Speicherplatz. Sie müssen diese über einen längeren Zeitraum messen, um Ihre Workload-Grenzen zu ermitteln und sicherzustellen, dass Sie für das Spektrum an Workloads ausgestattet sind, das Sie für eine bestimmte Instanz erwarten.

Wenn Sie sich mit den besonderen Merkmalen der Workloads vertraut machen, die auf Ihren SQL Server-Instanzen ausgeführt werden, können Sie viel besser sicherstellen, dass alles so läuft, wie es sollte, und sowohl aktuelle als auch zukünftige Anforderungen Ihres Unternehmens erfüllen.

Untersuchen Sie die Leistung im Laufe der Zeit mit der SQL Server-Überwachung

Datenbanken sind fließende Systeme. Nur sehr wenige haben stetige, sich wiederholende und vorhersehbare Arbeitsbelastungen. Weitaus häufiger treten im Laufe der Zeit große Schwankungen auf, die je nach Anzahl der Benutzer, automatisierten Jobs, Anzahl der Transaktionen, Datenvolumen usw. schwanken.

Eine Verkaufsdatenbank wird am Ende des Monats beschäftigt sein. Es wird auch einen Aktivitätsanstieg im Zusammenhang mit saisonalen Ereignissen oder durch Marketingaktionen geben.

Die Klassifizierung Ihrer Leistung anhand kleiner Momentaufnahmen ist keine gute Richtlinie. Je mehr Historie Sie sammeln und analysieren können, desto mehr Einblick erhalten Sie in die Variationen und Grenzen der einzelnen Merkmale Ihrer Workloads.

Sie müssen abwägen, wie viel Verlauf es sinnvoll ist, ihn aufzubewahren, und ob Sie die Ressourcen haben, ihn zu verarbeiten. Es sind Auswirkungen auf Kosten und Leistung zu berücksichtigen.

Erhalten Sie das vollständige Bild für Ihr Datenbank-Monitoring

Jede Datenbank ist ein komplexes System mit vielen beweglichen Teilen. Viele Konfigurationskriterien können sich auf die Leistung auswirken.

Das Design und die Architektur der Datenbank selbst werden die Ergebnisse beeinflussen. Code-Effizienz kann auch die Leistung verbessern oder beeinträchtigen. Konfigurationsoptionen bestimmen, wie die SQL Server-Instanz verfügbare Ressourcen verbraucht.

Stellen Sie sich das folgende Szenario vor:Eine Instanz kommt langsam zum Stillstand und der DBA erkennt eine Spitze in der CXPACKET- oder CXCONSUMER-Wartezeit. Die reflexartige Reaktion besteht darin, die Parallelität abzuschalten. Die Wartezeiten verschwinden und der aktuelle Engpass wird vorübergehend entlastet. Jetzt läuft die gesamte Instanz langsamer, aber der DBA möchte die Parallelität nicht erneut aktivieren. Eine weitere Untersuchung hätte ergeben, dass eine Abfrage besonders langsam lief und die Ursache ein fehlender Index war.

Die parallele Überwachung vieler verschiedener Metriken hilft dabei, die Grundursache genau zu identifizieren und teure Fehldiagnosen zu vermeiden, die zu einer Wiederholung oder sogar Eskalation desselben Problems führen können.