I’ve been working on this problem for a while now. To give a little background. We migrated from Exchange 2007 to Exchange 2010 mid to late last year. When we finally got the builk of our users on Exchange 2010, the super powerfull 12 core BL465 G6 servers with 32 GB of ram, that we were using for mailbox server (with FC connected storage) were dog slow. We spent a lot of time on the phone with Microsoft support and no progress was made for a long time. We were seeing VERY high storport latency and lots of outlook clients were having connectivity issues.
Fast forward to a week and a half ago. I was on the phone with MS support and the last thing they asked me to do was make sure the power plan was set to High Performance. I dismissed the recommendation at first not realzing the improvements MS had made in 2008 R2 in terms of power management. For those wondering the Balanced power plan does affect the processor clock speed on Server 2008 and 2008 R2!
Later that weekend I talked to a friend who told me about a similar issue that can happen to SQL servers running on Server 2008 and 2008 R2. He then informed me about a BIOS setting that they had to tweek. (thanks Ed). Since SQL and Exchange have similar behavior in terms of resource usage, I researched the issue from the point of view of SQL and sure enough there is a ton of information out there regarding SQL and processor scaling cause by power saving features.
Per my friends recomendation I grabbed a copy of CPU-Z and tried it on Exchange. Sure enough the processors on the Exchange servers we dynamically clocking down to 400MHZ with a 2x mutiplier. Way slower than a Opteron should be showing.
After more digging i found out that the Proliant G6 and G7 models have a feature enabled, in the BIOS, by default called HP Dynamic Power Savings Mode, which is not OS aware. It turns out that fixed it. Here are the BIOS settings I set on the exchange servers to get the best performance.
(FYI: The below settings turn off all power saving features of the servers, and set the processor to run at max performance. Your servers will no longer be “green”.) 🙂</p>
Under HP Power Regulator, select HP Static High Performance Mode
Ultra Low Power State – Disabled
No Power Halt State (AMD C1 Clock Ramping) – Disabled
I also made sure the following were disabled. (Should be by default)
Enable Node Interleaving – Disabled (Default)
No Execute Page Protection – Disabled (Default)
Interestinly if you set the BIOS to OS controlled and set Sever 2008 to a balanced power plan the CPU only clocks down to 800MHZ. I think HP’s dynamic scaling is a little too aggressive.
The G6 model was the first Proliant that the Dynamic power regulator setting was introduced, or at least set as the default. I really hope this helps some other people. Since i made these changes on the Exchange 2010 servers they have been running great.