Jeff Mlakar looks at some basic guidelines for tempdb and shows how to configure this database:
The basic guidelines are:
-
Each tempdb data file should be the same initial size
-
Autogrowth to tempdb files should be an explicit value in MB instead of a percentage. Choose a reasonable value based on the workload. Ex. 64MB, 128MB, 256MB, etc.
-
The number of tempdb files should be 1 per logical processor core up to 8. At that point the performance should be monitored and if more tempdb files are needed they should be added in sets of 4.
-
Ideally the tempdb files are sized up to the max they will need and never have to autogrow.
-
Use trace flags 1117 and 1118 for versions of SQL Server < 2016. In SQL Server 2016 these trace flags are defaults.
-
Trace flag 1117: when a file in the filegroup meets the autogrow threshold, all files in the filegroup grow together
-
Trace flag 1118: Removes most single page allocations on the server, reducing contention on the SGAM page. TLDR; no more mixed extents – use the whole page.
-
There are some good pieces of advice here, and Jeff includes a great example of a terrible setup.
Comments closed