4

We rent our servers at a local hosting partner, they manage the setup and settings and we just use them. But we have as well admin rights, but the management is at their side. So if I switch importend things I will let them know beforehanded. Recently I figured out that at least some servers have the power options set to a Balanced plan. Since this option is recommended in Windows Server 2012 I don't understand why this plan can be the worst one? Since we all want performance over energy usage on a server, I guess, why is that value still recommended?

Also I don't see exactly what is changed when I switch it to high performance, does anyone have a test result of a server which run under same circumstances on balanced and once on high performance?

For me it's clear to set it to high performance, but I would like to understand more details. And to my understanding the only negative effect is the electricity bill and maybe a more used hardware.. correct?

If I go to the details of the power plan on my local machine, I see the option for the CPU under Processor power management, on the server there is only System Cooling policy under Processor power Management. It seems that the CPU is not throttled in any case?! This settings appear to be the same under all plans.

Server Settings

3
  • 2
    You are incorrect that the only negative effect is the electricity bill. There are several other negative effects that come from the additional heat produced and temperatures of the components, including an increased risk of performance loss due to thermal throttling. (And the CPU may not be the only component that thermally throttles.) Feb 13, 2015 at 10:37
  • Yes I see, agree to that. Just thought about that as well. Feb 13, 2015 at 10:47
  • If you want more technical details : serverfault.com/questions/661209/…
    – YuKYuK
    Feb 13, 2015 at 11:32

2 Answers 2

11

Short Answer With modern processor, with fast C6 (core/module power gating) capabilities, the difference in power consumption between the two power profiles is negligible. On the other hand, due to how different CPUs behave in power saving mode, you can lose considerable performance using the "balanced" profile. So I advise you to use the "high performance" profile, unless you have good reasons to use a different profile.

Long Answer The different power profiles typically tune the following three key areas:

  • CPU P states (frequency/voltage): in these states the CPU is active, albeit with different perfomance profiles. The P0 state typically represents the highest-performance (and higher-voltage) CPU state, with P1-2-3-4-etc. denoting lower point in the frequency/voltage curves. This means that P0 state has higher power consumption that, say, P4. A conservative power governor can force the CPU to stay longer in the lower-consumption (and lower-performance) CPU states, or even limiting its maximum frequency. Switching from a P state to another is quite fast (basically its a function of how fast a process can change its voltage/frequency);
  • CPU C states (idle/standby states): in these states the CPU or parts of it are powered down. So, while C0 denote a fully active CPU (nothing is sleeping), a C1 state denote a stopped clock, while a C1E a stopped clock and lower voltage, and so on. Finally, from C6 state afterward (Haswell can go down to C10) the CPU core is effectively 0V, so power consumption is very low (only external components, as L2/3 caches and the bus, need to be powered). Switching between C0 and the other states traditionally was quite slow and so the C1E+ power states were relegated to relatively long idle time. Nehalem (first i3/i5/i7 generation) radically changed that, so read below to understand how it works now;
  • External links frequency/lanes/etc: memory, QPI and PCI-E links can be power and lane gated, albeit in different manners.

How the information above affect the power governor/profile? Basically, a performance-optimize governor will fire up the clocks all the way up, burning more power. But when idling, even a performance governor will let the kernel issue the HALT instruction, which will push the CPU in the C1 states. After some more idling, the kernel will enter C2 states, and here the magic happens: CPU from Nehalem (or Bulldozer, for AMD) afterward internally remaps the C2 state into C6 - dropping voltage to 0. So, even if the power governor left the CPU at maximum clock (say, 3 GHz), the C6 state effectively override it, bringing frequency and voltage to 0. Some processor/PCU are even more aggressive, remapping C1E (which is automatically entered after some C1 time and before the kernel switch to C2) to C6. So, in a nutshell: a high-performance power governor let the CPU run at maximum speed, but modern CPUs automatically shut-down themselves when possible. This means that a performance governor will give high speed AND reasonable power consumption.

On the other hand, a "balanced" power governor will try to adjust to lower bound CPU frequency (in order to expoit the P-states savings). While with old CPU this is very reasonable, with modern CPU you have only marginally lower power. At the same time, you risks to lose considerable performance due to how the governor asks for lower frequency by default. Moreover, external links are generally slow to wake up after being put to sleep, so this is another speed-impairing risk of the balanced and conservative power options.

For these very reason, Windows 2008R2+ balanced power profile only very mildly try to save power - in many cases its behavior is comparable to the "high-performance" one.

Some interesting reads:

  1. http://www.anandtech.com/show/2919
  2. http://www.hardwaresecrets.com/article/Everything-You-Need-to-Know-About-the-CPU-C-States-Power-Saving-Modes/611/1
0

On Windows 2016 servers, when changing from Balanced to High Performance mode i see a 50% increase of Web server / ASP.Net performance (as seen in New Relic). That is big.

So i suggest never use balanced mode on a dedicated server hosting solution.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .