Does CPU power management affect server performance?
Solution 1:
I'm not sure about servers, but the current thinking in embedded devices is not to bother with steps between low-power and flat-out because the extra time involved will eat your power savings, so basically they run low power until they get any real amount of cpu load at which point they flip over to fastest-possible so they can finish the job and get back to idling at low power.
Solution 2:
I have always turned off any type of power management on servers. I am curious to what others have experienced, but I always assumed that if the server is under-clocking, there will always be some delay to 'step up' the CPU to 100%, and in a data-center setting any delay like this is unacceptable.
The data you provided seems to support this assumption. So, I have not done any specific testing but it would seem that you should not use any power-saving technology within Windows or the BIOS. I even turn off the 'shut off Network' and PCI card settings to be ultra conservative.
Solution 3:
How Much Power will this actually Save you:
If you do decide that this feature might put the stability of your servers at risk (I have on experience with this), then you might look elsewhere for the energy savings.
I would try to find out just how much energy this might save for the amount of servers you have (Although perhaps you already did this). Since the graph you posted in your answer is percentages, for your company, the savings might actually be very little actual power. If you don't have many servers, it might not actually be that much, and getting motion activated lights or something like that in your office might save more energy (even though that is not as marketable).
I remember reading a few years back about one of the major American car companies (forget which) having pressure to change the emissions of the exhaust on their cars. Instead, the company showed that if it capped some of its factories, that would be much cheaper for them as well as resulting in far more emissions savings.
Don't Forget Disks:
Also, you might want to check that these power savings feature don't spin down the disk(s) if they are not used. Maybe for a little while all the SQL query results would be in RAM, the disk would be used and go to sleep (Not sure if it works like that though)? If this can happen, there would be a big performance penalty while everything spins up again.
Solution 4:
you will give up some performance with CPU power management enabled, unless your server is always under so much load that the power management has effectively turned itself off. This result surprised me.
Preface: I'm making some leaps/generalizations about Intel Xeons and their power saving performace with SpeedStep. In reading about the Intel Xeon "Yorkfield" 45nm CPUs, Enhanced Intel SpeedStep Technology (EIST) and Enhanced Halt State (C1E) seem to be the real culprit of the situation. I would agree with your statment in believing that turning on such power management features would aid the conservation of energy but when the CPUs needed the energy under load that the system would return to a normal voltage clock speed settings. It appears that EIST and C1E have some side effects that aren't intuitively implied when using either/or option in the BIOS. After crawling through numerous overclocking websites, it appears that these two settings in the BIOS cause quite a bit of frustration.
From http://www.overclock.net/intel-cpus/376099-speedstep-guide-why-does-my-processor.html:
C1E (Enhanced Halt State): C1E is the simpler of the two components. It can be enabled or disabled in the BIOS, and performs independently of the operating system. C1E has two configurations - idle, and load. When CPU usage is relatively low, this feature lowers your processor's multiplier to its lowest setting (usually 6x) and slightly lowers its vCore. During a CPU-intensive application, it will raise the multipler to its maximum value, and will provide a small boost in vCore to compensate. In our example, C1E will make your processor run at either 6x or 9x the FSB.
EIST (Enhanced Intel SpeedStep Technology): This is a very robust feature and has a wide variety of power-saving capabilities. Like its simpler cousin, EIST can affect both your CPU's voltage and it's multiplier - however, it has many more levels of configuration. Instead of a simple "slow or fast" setting, SpeedStep can utilize all of the available multipliers. In our example case, EIST will allow your processor to run with a multiplier of 6, 7, 8, or 9, and chooses which one to use based on how much demand your CPU is under. EIST is controlled by Windows, and utilizes the different "power schemes" you may have seen in your control panel.
While adjusting your performance settings for "high performance" is probably the best setting for a database server, I'm fairly certain either EIST and/or C1E caused the CPUs to under perform even though they should have gone back to normal settings when the load increased substantially. The big caveat to me appears to be "what is a substantial load?" According to the overclockers.net site they claim that EIST uses those "power schemes" settings for how to manipulate your CPU settings. But there's no indication of percentage of load or for how long to know when to turn the CPUs back to normal voltage.
Again, I'm by no means an expert on the subject matter for Intel CPUs but I would wager that adjusting these two settings might get you the power savings you want and the performance you should get, but sticking with the "maximum performance" setting is just as effective without the need to reboot.
Solution 5:
The fast answer is: Of course power saving will affect performance.
The longer answer is no fun. Basically, try a setting, test performance, and decide what you can live with.
Applications and systems are so very complicated that there is no cut and dry answer here, other than "yes, reaction time and other system speeds will be affected." If it is that much slower than the hard drive, or the network -- well, you get the idea. Test in reality.