Ik zal blijven uitleggen hoe u prestatiemeteritems bewaakt via PERFMON | Problemen met SQL Server-prestaties oplossen in deze serie artikelen.
SQL Server Performance Problemen oplossen
Lees eerder artikel hiervoor.
Problemen met SQL Server-prestaties oplossen -2 Databases en instanties controleren via Activity Monitor
Prestatietellers bijhouden via PERFMON
Knelpunten die optreden in de database en server kunnen worden geïdentificeerd door het gebruik van serverbronnen te onderzoeken. De belangrijkste knelpunten die van invloed zijn op SQL Server zijn de volgende.
- Geheugenknelpunt
- Schijf I/O-knelpunt
- CPU-knelpunt
Geheugenknelpunt in SQL Server
SQL Server Instance wijst geheugenruimte toe aan het besturingssysteem (OS) volgens de maximale en minimale geheugenparameters die tijdens het opstarten zijn ingesteld. Het geheugengebruik van SQL Server Instance groeit standaard voortdurend om paging te voorkomen. Als er geen geheugenruimte meer is voor een proces op het besturingssysteem, waarschuwt het besturingssysteem SQL Server en geeft SQL Server extra geheugen vrij dat het heeft toegewezen.
De maximale en minimale geheugenparameters kunnen in het volgende scherm worden ingesteld. (SQL Server Management Studio–> Klik met de rechtermuisknop op SQL-exemplaar en kies Servereigenschappen)
De algemene oorzaak van knelpunten in SQL Server Instances is dat er onvoldoende geheugen is. In het geval van onvoldoende geheugen, wordt dit harde paginafout genoemd als de database gegevens leest van de fysieke schijf in plaats van het geheugen.
De volgende prestatiemeteritems moeten worden gecontroleerd om te zien of er een geheugenknelpunt is in de database en het besturingssysteem.
Geheugen:pagina's/sec in SQL Server
Geeft het aantal geheugenpagina's aan dat niet in het geheugen aanwezig is en van de schijf moet worden gelezen en het aantal geheugenpagina's dat naar de schijf moet worden geschreven.
Deze waarde moet gedurende een bepaalde periode worden gevolgd terwijl de database normaal draait en er moet een gemiddelde waarde worden bepaald. Als deze waarde constant hoog is in geval van problemen, is het handig om het fysieke geheugen van het besturingssysteem te vergroten.
Geheugen:toegewezen bytes in SQL Server
Geeft de totale geheugenruimte aan die wordt gebruikt door Instance van pagefile.sys op RAM en schijf. Deze teller zal de totale RAM-grootte niet overschrijden als de hoeveelheid geleverd geheugen voldoende is. Als er niet meer voldoende geheugen is, wordt pagefile.sys-ruimte gebruikt, en dit betekent dat de bijbehorende prestatietellerwaarde de RAM-waarde overschrijdt. In een dergelijk scenario kan het toevoegen van RAM aan de server het systeem vergemakkelijken.
Geheugen:beschikbare bytes in SQL Server
Geeft de totale hoeveelheid beschikbaar geheugen voor Instance aan. Deze waarde lijkt meestal laag. Als de waarde van deze teller constant lager is dan 4 MB, vinden er te veel paging-bewerkingen plaats.
Schijf I/O-knelpunt in SQL Server
Voor schijf-I/O-knelpunt, dat optreedt op de schijf of opslag, moeten de prestatietellerwaarden onder de fysieke en logische schijf in de Perfmon-tool worden gecontroleerd.
- Als de waarde van een teller, zoals Schijfseconden / lezen counter, groter is dan 15-20 ms, is dit meestal een probleem met de schijfprestaties.
- Continu hoge waarden voor gemiddelde Schijfseconden / schrijven teller geeft aan dat er een prestatieprobleem is op de schijven.
% schijftijd in SQL Server
Geeft de lees-/schrijfdichtheid van de schijven weer. Als deze waarde 80% is, is het duidelijk dat schijven veel worden gebruikt. Een waarde van 50% of minder geeft aan dat er geen schijfknelpunt is.
Gem. Lengte schijfwachtrij in SQL Server
Het toont degenen die wachten in de I/O die op de schijf is gemaakt. Als deze waarde constant hoog is, betekent dit dat de schijf- of opslagknelpunt is begonnen.
Gem. Schijfbytes/overdracht in SQL Server
Toont het gemiddelde aantal bytes dat is verwerkt tijdens lezen en schrijven naar schijf. Een hogere waarde betekent dat Disk efficiënt werkt.
CPU-knelpunt
Het is gemakkelijker om te zien of het systeem vertraagt door de CPU, in vergelijking met geheugen en schijf-I/O. Omdat, na het controleren van geheugen en schijf, als er nog meer problemen zijn en als de CPU-kant moet worden onderzocht, de systeem-CPU onmiddellijk kan worden gecontroleerd. Als de systeem-CPU 80% is, betekent dit dat er een probleem is, maar bij 50% kan worden vastgesteld dat het probleem niet door de CPU wordt veroorzaakt.
Processor:% processortijd in SQL Server
Geeft de actieve looptijd van de CPU weer.
Als het besturingssysteem verzoeken kan verwerken zonder de Serverwachtrijlengte te vergroten waarde, dan worden de processen zo snel mogelijk bediend.
Verwerker:% bevoorrechte tijd
Toont de CPU-tijd die is toegewezen aan het besturingssysteem waarop SQL Server draait.
Verwerker:% gebruikerstijd
Toont de CPU-tijd die is besteed aan andere activiteiten die op het besturingssysteem worden uitgevoerd.
In het volgende artikel zal ik het oplossen van problemen met de prestaties van SQL Server blijven uitleggen.
Problemen met SQL Server-prestaties oplossen -4 DMV ( Dynamic Management View ) en DMF ( Dynamic Management Function ) gebruiken