On multi-engine servers, more than one task can attempt to access the cache at the same time. By default, each cache has a single spinlock, so that only one task can change or access the cache at a time. If cache spinlock contention is above 10 percent, increasing the number of cache partitions for a cache can reduce spinlock contention, and improve performance.
You can configure the number of cache partitions for:
All data caches, using the global cache partition number configuration parameter
An individual cache, using sp_cacheconfig
The number of partitions in a cache is always a power of 2 between 1 and 64. No pool in any cache partition can be smaller than 512K. In most cases, since caches can be sized to meet requirements for storing individual objects, you should use the local setting for the particular cache where spinlock contention is an issue.
See “Reducing spinlock contention with cache partitions” in Chapter 5, “Memory Use and Performance” in the Performance and Tuning Series: Basics for information on choosing the number of partitions for a cache.