Useful Perfmon Counters for SQL Server Monitoring

Object NameCounterDescriptionIdeal
Processor%Processor Time/_TotalAll processors usage<70%
SystemProcessor Queue LengthThreads ready to runNear 0 but at most <10 per processor
Network InterfaceBytes Total/secTotal network load<60% bandwidth
Memory ManagerTotal Server MemoryCurrent Memory consumptionOS memory = 2GB+ 2MB*(500 + 16 *(CPUs-4))
Rest is max memory for instance
Memory ManagerTarget Server MemoryIdeal Memory for optimal operation“=Total Server Memory
Memory ManagerFree MemoryNot used memory>0 but not too large
Memory ManagerStolen Server MemoryServer Memory stolen for other purposes than DB pages0
Memory ManagerMemory Grants PendingProcesses waiting for memory workspace0 or 1
Buffer ManagerFree List stalls/ secRequests had to wait for free page0
Buffer ManagerBuffer Cache hit RatioPages in memory without reading from disk>99%
Buffer ManagerLazy Writes/secIndicate dirty pages from lazy writer (NOT CHECKPOINT)0
Buffer ManagerPage Life ExpectancySeconds that a page stays in Buffer Cache before flush300s * Total memory (GB)/4GB
Buffer ManagerPage reads/secPhysical ReadsNot too high compared to Logical Reads
Buffer ManagerPage lookups /secLogical Reads
MemoryAvailable MbytesMemory Available to OS.>2-4GB
MemoryPages / secPages read from or written to disk to resolve hard page faults0
Plan CacheCache Hit RatioRatio between cache hits and lookups for plans>95%
Paging File%UsagePage file in use0
ProcessWorking SetThe working set in BytesIf much smaller than assigned memory then it’s overallocated
Physical DiskAvg. Disk Queue LengthRead Write requests queued for selected diskNear 0
Physical DiskAvg. Disk Sec/ReadAverage time for one read<20ms
Physical DiskAvg. Disk Sec/WriteAverage time for one write<20ms
Physical Disk%Disk TimeBusy disk time<50%
Physical DiskDisk Reads/SecRate of read operations on the disk.<85% of disk capacity
Physical DiskDisk Writes/SecRate of write operations on the disk.<85% of disk capacity
Access MethodsFull Scans/secTable or full Index Scans. Can indicate further need for optimization with new indexes.
Access MethodsIndex Searches/secIndex Range scans, single index record fetch, reposition within index
Access MethodsRange Scans/secRange scans through indexes
Access MethodsPage Splits / SecNumber of page splits as a result of overflowing index pages Indicate fragmentation
Access MethodsForwarded Records/secRecords fetched through forwarded record pointers. Indicate fragmentation
Access MethodsTable Lock Escalations/secLocks escalations to table lock
SQL StatisticsBatch Requests/secNumber of batch requests received by server. Indicates load
SQL StatisticsSQL Compilations/secCompiles. Hard parses for first time
SQL StatisticsSQL Re-Compilations/secRe-compiles. Hard parses for existing sql. High number might indicate not use of bind variables
General StatisticsProcesses blockedBlocked processes
General StatisticsUser ConnectionsUsed for calculating a baseline
DatabasesTransactions/secUsed for calculating a baseline
DatabasesLog GrowthsNumber of log growths
DatabasesPercent Log UsedLog usage
LocksAverage Wait Time (ms)Lock average wait
LocksNumber of Deadlocks/secDeadlocks per second
LocksLock Requests/secNew locks and lock conversions
Wait StatisticsLock WaitsProcesses waiting on a lock.
Wait StatisticsLog Buffer WaitsProcesses waiting for log buffer to be available.
Wait StatisticsLog Write WaitsProcesses waiting for log buffer to be written.
Wait StatisticsMemory grant queue waitsProcesses waiting for memory grant to become available.
Wait StatisticsNetwork IO waitsProcesses waiting for Network IO.
Wait StatisticsNon-Page latch waitsProcesses waiting for Non-page latches.
Wait StatisticsPage IO latch waitProcesses waiting for Page IO latches.
Wait StatisticsPage Latch waitsProcesses waiting for Page latches, not including IO latches
Wait StatisticsThread-safe memory objects waitsProcesses waiting on thread-safe memory allocators.
Wait StatisticsTransaction ownership waitsProcesses synchronizing access to transaction.
Wait StatisticsWait for the workerProcesses waiting for worker to become available.
Wait StatisticsWorkspace synchronization waitsProcesses synchronizing access to workspace.

Leave a Reply

Your email address will not be published. Required fields are marked *