When managing large scale deployment of SQL Server instances, it is important for DBAs to setup proactive monitoring & establishing performance baselines which helps in performance tuning, capacity planning & identifying workload patterns. Attend this session to learn what data should a DBAs collect & how, to monitor & establish performance baseline in SQL Server.
IAC 2024 - IA Fast Track to Search Focused AI Solutions
PASS VC: SQL Server Performance Monitoring and Baselining
1.
2. 2
About Me
Senior Program Manager (SQL Tiger Team)
8 Years
@talktosavjani
http://www.sqlserverfaq.net
https://blogs.msdn.microsoft.com/sql_server_team/
https://blogs.msdn.microsoft.com/sqlreleaseservices/
@mssqltiger
3. Understand What SQL Performance
Baselining means and why is it
required ?
Understand the tools available for
establishing a baseline in SQL
Server and monitoring
Learn how to use the
performance baseline tools
to understand and
troubleshoot performance
issues
See an performance baselining and
monitoring solution using SQL
Server and SSRS
4.
5. • How slow is slow?
• How fast is fast?
Performance is relative
• Identifying Hardware Reqs based on current workload and resource utilization
Capacity Planning
• Identifying the current workload, resource utilization
Consolidation
• Estimate VM Size/configuration
• Estimate Cost
VirtualizationMigration to Cloud (Azure)
6.
7.
8.
9. •Processor(*)% Processor Time
•Process(sqlservr)% Processor Time
•Processor(*)% Privileged Time
•Process(sqlservr)% Privileged Time
PROCESSOR
•Available Mbytes
•Memory Pages/sec
•Process(sqlservr)Private Bytes
•Process(sqlservr)Working Set
•SQLServer: Memory Manager Total Server Memory
•SQLServer: Memory Manager Target Server Memory
Memory
•PhysicalDisk(*)Avg. Disk sec/Read
•PhysicalDisk(*)Avg. Disk sec/Write
•PhysicalDisk Avg. Disk Queue Length
•Disk Bytes/sec
•Avg Disk Bytes/Transfer
•Process(sqlservr)IO Data Operations/sec
PHYSICAL DISK
•Network InterfaceBytes Received/sec
•Network InterfaceBytes Sent/sec
•Network Interface(*)Output Queue Length
Network IO
11. • Max Workers
• Workers Created
• Idle Workers
• Deadlocks
Query Processing Health
• Latch Waits > 15 sec
• Locks > 30 sec
• IO Latch Timeouts
• Long IO Status
Lock & Latch Waits
• Deadlocked Scheduler
• Non-Yielding Scheduler
• Access Violations
• OOM
• Corrupt Pages Status
Fatal Issues
• API Name
• Error Code
Security Errors
12. SQL Server Tiger Team
• Data Collected in ring buffer target & *.xel files in Log
Folder ( 4 Rollover Files of 5MB)
• Increase System Health Xel File retention
ALTER EVENT SESSION [system_health] ON SERVER STATE = STOP
go
ALTER EVENT SESSION [system_health] ON SERVER
DROP TARGET package0.event_file
ALTER EVENT SESSION [system_health] ON SERVER
ADD TARGET package0.event_file
(SET filename=N'system_health.xel'
,max_file_size=(25),
max_rollover_files=(5))
GO
ALTER EVENT SESSION [system_health] ON SERVER STATE = START
go
12
13.
14.
15. Architecture
Monitoring
Server
SQL1 SQL2 SQL3 SQLN
SQL Servers in the Environment
db2
db1
dba_local
db2
db1
dba_local
db2
db1
dba_local
db2
db1
dba_local
Central Monitoring Server
SSRS Portal
SQL Server Version, Configuration,
OS information,
Database Properties, Size,
DataFile File Size,
Storage, Backup Information
SQL Server Resource Utilization,
Performance Data, Wait statistics