Ich werde weiterhin erklären, wie Leistungsindikatoren über PERFMON | überwacht werden Fehlerbehebung bei der SQL Server-Leistung in dieser Artikelserie.
Fehlerbehebung bei der SQL Server-Leistung
Lesen Sie zuvor den vorherigen Artikel.
Fehlerbehebung bei der SQL Server-Leistung -2 Überwachen Sie Datenbanken und Instanzen über die Aktivitätsüberwachung
Leistungszähler über PERFMON überwachen
Engpässe, die in der Datenbank und im Server auftreten, können identifiziert werden, indem die Verwendung von Serverressourcen untersucht wird. Die wichtigsten Engpässe, die SQL Server betreffen, sind folgende.
- Speicherengpass
- Festplatten-E/A-Engpass
- CPU-Engpass
Speicherengpass in SQL Server
Die SQL Server-Instanz weist Speicherplatz vom Betriebssystem ( OS ) gemäß den während des Starts festgelegten Max- und Min-Speicherparametern zu. Standardmäßig wächst die Speichernutzung der SQL Server-Instanz kontinuierlich, um Paging zu vermeiden. Wenn für einen Prozess auf dem Betriebssystem kein Speicherplatz mehr vorhanden ist, warnt das Betriebssystem den SQL Server und der SQL Server gibt zusätzlich zugewiesenen Speicher frei.
Maximale und minimale Speicherparameter können auf dem folgenden Bildschirm eingestellt werden. ( SQL Server Management Studio –> Rechtsklick auf SQL-Instanz und Servereigenschaften auswählen )
Die allgemeine Ursache für Engpässe in SQL Server-Instanzen ist unzureichender Arbeitsspeicher. Bei unzureichendem Speicher spricht man von Hard Page Fault wenn die Datenbank Daten von der physischen Festplatte statt aus dem Arbeitsspeicher liest.
Die folgenden Leistungsindikatoren sollten überprüft werden, um festzustellen, ob es einen Speicherengpass in der Datenbank und im Betriebssystem gibt.
Speicher:Seiten/Sek. in SQL Server
Gibt die Anzahl der Speicherseiten an, die nicht im Speicher vorhanden sind und von der Festplatte gelesen werden müssen, sowie die Anzahl der Speicherseiten, die auf die Festplatte geschrieben werden müssen.
Dieser Wert sollte bei normalem Betrieb der Datenbank über einen bestimmten Zeitraum verfolgt und ein Mittelwert ermittelt werden. Wenn dieser Wert bei Problemen konstant hoch ist, ist es sinnvoll, den physikalischen Speicher des Betriebssystems zu vergrößern.
Speicher:Festgeschriebene Bytes in SQL Server
Gibt den gesamten Speicherplatz an, der von der Instanz von pagefile.sys auf RAM und Festplatte verwendet wird. Dieser Zähler überschreitet nicht die gesamte RAM-Größe, wenn die bereitgestellte Speichermenge ausreichend ist. Wenn nicht mehr genügend Arbeitsspeicher vorhanden ist, wird der Speicherplatz von pagefile.sys verwendet, und dies bedeutet, dass der zugehörige Leistungszählerwert den RAM-Wert überschreitet. In einem solchen Szenario kann das Hinzufügen von RAM zum Server das System entlasten.
Speicher:Verfügbare Bytes in SQL Server
Gibt die Gesamtmenge des verfügbaren Arbeitsspeichers für die Instanz an. Dieser Wert erscheint normalerweise niedrig. Wenn der Wert dieses Zählers dauerhaft unter 4 MB liegt, finden zu viele Paging-Vorgänge statt.
Datenträger-E/A-Engpass in SQL Server
Bei Festplatten-E/A-Engpässen, die auf der Festplatte oder im Speicher auftreten, sollten die Leistungsindikatorwerte unter „Physische und logische Festplatte“ im Perfmon-Tool überprüft werden.
- Wenn der Wert eines Zählers, z. B. Festplattensekunden/gelesen Zähler größer als 15–20 ms ist, handelt es sich normalerweise um ein Problem mit der Festplattenleistung.
- Kontinuierlich hohe Werte für durchschnittliche Festplattensekunden/Schreibvorgang zeigen an, dass es ein Leistungsproblem auf den Festplatten gibt.
% Festplattenzeit in SQL Server
Zeigt die Lese-/Schreibdichte der Festplatten an. Wenn dieser Wert 80 % beträgt, wird davon ausgegangen, dass die Festplatten extensiv verwendet werden. Ein Wert von 50 % oder weniger zeigt an, dass es keinen Festplattenengpass gibt.
Durchschn. Länge der Datenträgerwarteschlange in SQL Server
Es zeigt diejenigen, die in der I/O auf der Festplatte warten. Wenn dieser Wert konstant hoch ist, bedeutet dies, dass der Festplatten- oder Speicherengpass begonnen hat.
Durchschn. Disk Bytes/Transfer in SQL Server
Zeigt die durchschnittliche Menge an Bytes, die beim Lesen und Schreiben auf die Festplatte verarbeitet werden. Ein höherer Wert bedeutet, dass die Festplatte effizient arbeitet.
CPU-Engpass
Es ist einfacher zu sehen, ob das System von der CPU aus langsamer wird, im Vergleich zu Speicher- und Festplatten-E/A. Denn gibt es nach Sicherstellung von Speicher und Festplatte noch weitere Probleme und muss die CPU-Seite untersucht werden, kann die System-CPU sofort überprüft werden. Wenn die System-CPU 80 % ausmacht, bedeutet dies, dass ein Problem vorliegt, aber bei 50 % kann festgestellt werden, dass das Problem nicht von der CPU verursacht wird.
Prozessor:% Prozessorzeit in SQL Server
Zeigt die aktive Laufzeit der CPU an.
Wenn das Betriebssystem Anforderungen verarbeiten kann, ohne die Länge der Serverwarteschlange zu erhöhen wert, dann werden die Prozesse schnellstmöglich bedient.
Prozessor:% privilegierte Zeit
Zeigt die CPU-Zeit an, die dem Betriebssystem zugewiesen ist, auf dem SQL Server ausgeführt wird.
Prozessor:% Benutzerzeit
Zeigt die CPU-Zeit, die für andere Aktivitäten aufgewendet wird, die auf dem Betriebssystem ausgeführt werden.
Ich werde die Fehlerbeseitigung bei der SQL Server-Leistung im nächsten Artikel weiter erläutern.
Fehlerbehebung bei der SQL Server-Leistung -4 Verwenden von DMV (Dynamic Management View) und DMF (Dynamic Management Function)