1
8 TIPS FOR FASTER SQL SERVER PERFORMANCE without the expense of overprovisioning Find and fix performance issues faster with SolarWinds Database Performance Analyzer. Free 14-day trial at www.solarwinds.com/dpa-download ©2015 SolarWinds. All rights reserved. Use SolarWinds Database Performance Analyzer to identify performance issues, show trends and establish baselines for: • Table scans • Page Life Expectancy • Lazy writes • High Seconds Per Read and Seconds Per Write • Wait types and resources over time CHANGE APPLICATION SQL TO USE LESS I/O It isn’t always possible to change the code or the database design, so also consider tuning indexes. OPTIMIZE PARALLELISM Turn on hyperthreading and Check MAXDOP and Cost Threshold for parallelism (often set too low). The right values will depend aon what kind of queries you run. IMPLEMENT DATA COMPRESSION Compression not only saves storage space, it also increases the amount of data contained in each IO operation so the number of IOs required is reduced. REDUCE TRANSACTION LOG WRITES Transactions can’t commit until the commit record is written to the transaction log. Grouping statements into logically related transactions can improve performance by reducing the waits on transaction log writes. CHECK HBA QUEUE DEPTH To handle bursts in IO, Host Bus Adapters (HBA) have a queue to store IO commands until they can be sent to the SAN controller. Most HBAs default to a queue depth of 16 or 32—usually too small for SQL Server. Try starting with 64, and if that improves performance, then try 128. SET WINDOWS POWER SAVER TO HIGH PERFORMANCE Microsoft ® Windows ® servers can slow down during off-peak usage which can cause performance problems. SET OPTIMIZE FOR AD HOC QUERIES PARAMETER With this parameter, the plan is cached the second time the query is executed. Queries executed only once aren’t cached. PUT LOGS, DATA AND TEMPDB ON SEPARATE VOLUMES Best practice: put logs, data, and tempdb on separate volumes. Even better: Put log and tempdb on fastest volumes.

8 TIPS FOR FASTER SQL SERVER PERFORMANCElaunch.solarwinds.com/.../8_Tips_Faster_SQL_Server_Performance_8… · 8 TIPS FOR FASTER SQL SERVER PERFORMANCE ... tuning indexes. ... record

Embed Size (px)

Citation preview

Page 1: 8 TIPS FOR FASTER SQL SERVER PERFORMANCElaunch.solarwinds.com/.../8_Tips_Faster_SQL_Server_Performance_8… · 8 TIPS FOR FASTER SQL SERVER PERFORMANCE ... tuning indexes. ... record

8 TIPS FOR FASTERSQL SERVER PERFORMANCEwithout the expense of overprovisioning

Find and fix performance issues faster with SolarWinds Database Performance Analyzer. Free 14-day trial at www.solarwinds.com/dpa-download©2015 SolarWinds. All rights reserved.

Use SolarWinds Database Performance Analyzer to identify performance issues, show trends and establish baselines for:

• Table scans• Page Life Expectancy • Lazy writes• High Seconds Per Read and Seconds Per Write• Wait types and resources over time

CHANGE APPLICATION SQL TO USE LESS I/O It isn’t always possible to change the code or the database design, so also consider tuning indexes.

OPTIMIZE PARALLELISM

Turn on hyperthreading and Check MAXDOP and Cost Threshold for parallelism (often set too low). The right values will depend aon what kind of queries you run.

IMPLEMENT DATA COMPRESSIONCompression not only saves storage space, it also increases the amount of data contained in each IO operation so the number of IOs required is reduced.

REDUCE TRANSACTION LOG WRITESTransactions can’t commit until the commit record is written to the transaction log. Grouping statements into logically related transactions can improve performance by reducing the waits on transaction log writes.

CHECK HBA QUEUE DEPTHTo handle bursts in IO, Host Bus Adapters (HBA) have a queue to store IO commands until they can be sent to the SAN controller. Most HBAs default to a queue depth of 16 or 32—usually too small for SQL Server. Try starting with 64, and if that improves performance, then try 128.

SET WINDOWS POWER SAVER TO HIGH PERFORMANCEMicrosoft® Windows® servers can slow down during off-peak usage which can cause performance problems.

SET OPTIMIZE FOR AD HOC QUERIES PARAMETERWith this parameter, the plan is cached the second time the query is executed. Queries executed only once aren’t cached.

PUT LOGS, DATA AND TEMPDB ON SEPARATE VOLUMES

Best practice: put logs, data, and tempdb on separate volumes. Even better: Put log and tempdb on fastest volumes.