This document provides SQL Server best practices for improving performance. It recommends using local SSDs to store tempdb and paging files to improve IOPS. It also suggests setting the max degree of parallelism to 8 or the number of CPUs and using tools in SSMS like the actual execution plan and database engine tuning advisor to optimize queries and identify bottlenecks. Network tuning tips include increasing the network packet size and using NitroAccelerator software.
2. Using Local SSD to improve IOPS
Create new SQL Server instances with one or more local SSDs to store the tempdb and Windows
paging files.
This offloads a significant number of I/O operations from your SSD persistent disks.
3. Parallel query processing
Best practice is to set the max degree of parallelism to 8
However the recommended default setting for max degree of parallelism is to match it to the
number of CPUs on the server.
4. Determine the Speed
Run DTEXEC command & determine the time of SQL query
Use perfmon to measure:
1. CPU load
2. NIC load Network / Current Bandwidth
3. I/O Latency
Determine these results at both source & executor
5. Optimize SQL Data Source
Use NOLOCK to remove locking overhead
It improves the speed of large table scans
PS: select only columns you need
Example: select eno, ename, salary from dbo.empDetails WITH (NOLOCK)
6. Network Tuning
Change the network packet size in the connection manager
Higher values typically yield faster throughput
Max value is 32767
NitroAccelerator is software from Nitrosphere that runs on each endpoint. It optimizes SQL
Server’s TDS (Tabular Data Stream) protocol by compressing and optionally encrypting traffic
between SQL Server and the connecting application
7. SSMS Tools
Actual Execution Plan
Find out which SQL statements are the bottlenecks