Jeg vil fortsætte med at forklare, hvordan man overvåger ydeevnetællere via PERFMON | Fejlfinding af SQL Server-ydelse i denne artikelserie.
SQL Server Ydeevne Fejlfinding
Læs tidligere artikel før denne.
SQL Server Performance Fejlfinding -2 Overvåg databaser og forekomster via Activity Monitor
Overvågning af ydeevnetællere via PERFMON
Flaskehals, der opstår i databasen og serveren, kan identificeres ved at undersøge brugen af serverressourcer. De vigtigste flaskehalse, der påvirker SQL Server, er som følger.
- Hukommelsesflaskehals
- Disk I/O flaskehals
- CPU-flaskehals
Hukommelsesflaskehals i SQL Server
SQL Server Instance allokerer hukommelsesplads fra operativsystemet (OS) i henhold til de Max- og Min-hukommelsesparametre, der er indstillet under opstart. Som standard vokser SQL Server Instance-hukommelsesbrugen konstant for at undgå personsøgning. Hvis der ikke er mere hukommelsesplads til en proces på operativsystemet, advarer operativsystemet SQL Server, og SQL Server frigiver ekstra hukommelse, som den har tildelt.
Maksimum og minimum hukommelsesparametre kan indstilles fra følgende skærmbillede. ( SQL Server Management Studio–> Højreklik på SQL-forekomst, og vælg serveregenskaber )
Den generelle årsag til flaskehalse i SQL Server Instances er, at hukommelsen er utilstrækkelig. I tilfælde af utilstrækkelig hukommelse kaldes det hard page fault hvis databasen læser data fra den fysiske disk i stedet for hukommelsen.
Følgende ydeevnetællere bør gennemgås for at se, om der er hukommelsesflaskehals i databasen og OS.
Hukommelse:Sider/sek. i SQL Server
Angiver antallet af hukommelsessider, der ikke findes i hukommelsen ve og skal læses fra disken, og antallet af hukommelsessider, der skal skrives til disken.
Denne værdi bør følges i en vis periode, mens databasen kører normalt, og en gennemsnitsværdi bør bestemmes. Hvis denne værdi konstant er høj i tilfælde af problemer, er det nyttigt at øge størrelsen af operativsystemets fysiske hukommelse.
Hukommelse:Committed Bytes i SQL Server
Angiver den samlede hukommelsesplads, der bruges af Instance fra pagefile.sys på RAM og disk. Denne tæller vil ikke overstige den samlede RAM-størrelse, hvis mængden af tilført hukommelse er tilstrækkelig. Hvis der ikke er mere tilstrækkelig hukommelse, bruges pagefile.sys plads, og det betyder, at den relaterede ydeevnetællerværdi vil overstige RAM-værdien. I et sådant scenarie kan tilføjelse af RAM til serveren lette systemet.
Hukommelse:Tilgængelige bytes i SQL Server
Angiver den samlede mængde tilgængelig hukommelse for eksempel. Denne værdi ser normalt ud til at være lav. Hvis værdien af denne tæller konsekvent er under 4 MB, forekommer der for mange personsøgninger.
Disk I/O flaskehals i SQL Server
For Disk I/O-flaskehals, som opstår på disken eller lageret, bør Performance Counter-værdierne under den fysiske og logiske disk i Perfmon-værktøjet kontrolleres.
- Hvis en tællers værdi, såsom Disk sekunder / læs tæller, er større end 15-20 ms, er det normalt et problem med diskens ydeevne.
- Kontinuerlige høje værdier for gennemsnitlige Disk sekunder/skrive tæller indikerer, at der er et ydeevneproblem på diskene.
% disktid i SQL Server
Viser læse-/skrivetæthed for diskene. Hvis denne værdi er 80%, er det underforstået, at diske bruges meget. En værdi på 50 % eller mindre indikerer ingen diskflaskehals.
Gns. Diskkølængde i SQL Server
Det viser dem, der venter i I/O'et, der er lavet til disken. Hvis denne værdi er konstant høj, betyder det, at disk- eller lagerflaskehalsen er startet.
Gns. Diskbytes/overførsel i SQL Server
Viser den gennemsnitlige mængde bytes, der behandles under læsning og skrivning til disk. En højere værdi betyder, at Disk fungerer effektivt.
CPU-flaskehals
Det er nemmere at se, om systemet sænker farten fra CPU'en sammenlignet med Memory og Disk I/O. Fordi, efter at have sikret hukommelse og disk, hvis der stadig er flere problemer, og hvis CPU-siden skal undersøges, kan system-CPU'en straks kontrolleres. Hvis system-CPU'en er 80%, betyder det, at der er et problem, men i 50% kan det fastslås, at problemet ikke er forårsaget af CPU'en.
Processor:% Processortid i SQL Server
Viser den aktive køretid for CPU'en.
Hvis operativsystemet kan håndtere anmodninger uden at øge serverkølængden værdi, så serviceres processerne så hurtigt som muligt.
Processor:% privilegeret tid
Viser CPU-tiden, der er allokeret til det operativsystem, som SQL Server kører på.
Processor:% brugertid
Viser CPU-tiden brugt på andre aktiviteter, der kører på operativsystemet.
Jeg vil fortsætte med at forklare SQL Server Performance Fejlfinding i den næste artikel.
SQL Server Performance Fejlfinding -4 Brug af DMV ( Dynamic Management View ) og DMF ( Dynamic Management Function )