Performance Tuning SQL Server

Download Report

Transcript Performance Tuning SQL Server

SQL Server Performance
Audit and Tuning
Jason Pack
Overview







Using Performance Monitor
Hardware and Operating System
Performance
SQL Server Configuration Settings
Database Configuration Settings
Index Performance Tuning
Application Tuning
SQL Profiler on Queries
Performance Monitor
Performance Monitor (2)

Typical counters to monitor:
• Pages per second (memory)

Want to average less than 20
• Available bytes (memory)

Should be over 5MB (on dedicated machine)
• Percent disk time (physical disk)

Over 55% for 10+ minutes indicates a bottleneck
• Percent processor time

Over 80% for 10+ minutes indicates a bottleneck
Tuning Hardware and Operating
System Performance






More RAM = Good
Check disk fragmentation
Separate operating system files and
SQL Server data files
Be sure OS has newest SP
Server should be configured as
stand-alone server
Turn off unnecessary services
SQL Server Configuration Settings


In general, no need to modify
If you have to
• SP_CONFIGURE, will show your settings
• SP_CONFIGURE ['configuration name'],
[configuration setting value]
GO
RECONFIGURE WITH OVERRIDE
GO, to change the settings
Database Configuration

Right-click the
database in
Enterprise
Manager, select
Properties, then
Options
Database Configuration (2)

For reporting databases, set to Readonly

Database auto-grow

Transaction log auto-grow
• Estimate well, auto-grow creates virtual
files, increasing recovery time
Index Performance Tuning

Run the Index Tuning Wizard
• Only available in Enterprise edition


Start with busiest database, and
largest tables
Every table, in every database,
should have a clustered index on the
PK
• Allows the data to be stored, physically,
in order
Application Tuning


Most important aspect in improving
performance
Not always possible
Application Tuning (2)

Use stored procedures whenever possible
• Include SET NOCOUNT ON in stored procedure



Keep transactions as short as possible
Choose OLE DB over ODBC, as it is
generally faster
Don’t return more data than you need
SQL Profiler

Events
• Stored Procedures

RPC:Completed
• TSQL


SQL:BatchComplete
d
Filters
• Duration > 5000
ms
• No system events

Data Columns
•
•
•
•
•
•
•
•
Duration (group by)
Event Class
Database Identifier
TextData
CPU
Writes
Reads
SPID
SQL Profiler (2)
References

SQL-Server-Performance.Com, Brad McGehee, February 2005
•

Microsoft MSDN, Meier, J. D., Vasireddy, S., Babbar, A., et al., May
2004
•

http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnpag/html/scalenetchapt14.asp
SQL-Server-Performance.Com, Geert Vanhove, June 2005
•

http://www.sql-server-performance.com/sql_server_performance_audit10.asp
http://www.sql-server-performance.com/gv_monitoring_8_steps.asp
Microsoft MSDN
•
http://msdn.microsoft.com/library/default.asp?url=/library/enus/createdb/cm_8_des_05_2ri0.asp