TempDB – Placement And Sizing

9 02 2008

Not only at systems with very high usage of TempDB the correct planing is useful.
Do you exactly know how much workload your system must manage in the future ?

From my experience it could be a difficult task to change system settings during production when no downtime is available.

Therefore here are some rules to prevent issues with impact on the availability and/or performance.

First consider to place TempDB on his own physical disk array (Better more smaller disks as fewer big disk, Keyword: I/O).

Use RAID 1+0 or RAID-1.

As reported by Microsoft create a single data file for every CPU. Note: Dual Core count as 2 CPU’s, Hyperthreading not.
Equal sizing of the data files are required. Note: This apply only to the data files, not to the log files.

About the sizing of TempDB. There is no golden rule. During my research i found various opinions about sizing TempDB.

For my systems i use follwing setup:
40 % of the size of all production databases for the TempDB data files, 40% of the size of TempDB for the log file.

This values i use for the preallocation of the the TempDB data files size.
If you use the autogrowth option take sure to use equal increments for every data file.
Note: Use a reasonable value for the increments.
If the value is to small you will receive a performance hit every time the system expand your files.
This is workload on your server you don’t need.


Actions

Information

Leave a comment