As a SQL Server DBA or administrator, you may have your own set of startup tasks that you perform when rebuilding or bringing a new server online. These practices are meant to enhance the performance of the server. Today, I want to share with you a simple yet powerful setting that is often overlooked – the Power Plan for SQL Server.
On Windows Server 2008 and above, the default power plan is set to “Balanced” in the Control Panel’s Power Options. This power plan enables energy conservation by scaling the processor performance based on current CPU utilization. However, for servers that require ultra-low latency or the highest performance levels, such as SQL Server database servers, this default setting may not be ideal.
The “High Performance” power plan is specifically designed to increase performance at the cost of higher energy consumption. It ensures that the processors do not switch to lower-performance states, providing a more consistent and invariant CPU frequency. This is particularly beneficial for applications that are sensitive to processor frequency changes, such as SQL Server.
Implementing the High Performance power plan is simple. Just navigate to Control Panel -> Power Options and select the “High Performance” plan. The typical setting looks like this:
Minimum Processor Performance State: 100% Maximum Processor Performance State: 100%
Now, let’s take a look at the different built-in power plans and their common use case scenarios:
- Balanced: This is the default setting and offers the highest energy efficiency with minimum performance impact. It is suitable for general computing scenarios where capacity needs to match demand. Energy-saving features are balanced to optimize power and performance.
- High Performance: This plan increases performance but consumes more energy. It should only be used when absolutely necessary, such as for low latency applications or when the application code is sensitive to processor frequency changes. Processors are always locked at the high-performance state.
I hope most of you are already aware of these power plan settings and are using them on your servers. If you have any additional settings or tips that you use in your daily environment, I would love to hear from you. Feel free to share them in the comments below. Let’s learn from each other and optimize our SQL Server performance together!