Monday, August 18, 2008

Virtualization Performance is better than you think for Exchange Server

Hello Everyone,

The common thought is Exchange Server does not get virtualized. But, I'll tell you what, Exchange should be virtualized. Applications that are mission critical should be protected using a number of backup, high availability, and fail-over type solutions. I consider virtualization a method of fail-over.

The biggest concern I frequently hear about Exchange is performance (after complexity - I would disagree on that one). Well, the performance difference between virtual and physical environments (at least VMware ESx, haven't seen performance benchmarks of Hyper-V) is a lot closer than one would expect when properly configured (I don't want to hear about the single SATA hard drive configuration you are running with 1GB of ram). I'll summarize the technical details of a performance test of Exchange 2003, VMware ESx 3.0 on fibre channel on Dell/EMC hardware (all 32 bit, 2GB of memory only). URL for the report is here in PDF.

Close Ball-Game
1) a single virtual CPU could obtain 76% performance of a physical CPU (clocked at 1300 heavy user profiles with acceptable performance using LoadSim, Microsoft's Outlook/Exchange testing tool)
2) 2 virtual CPUs could obtain 71% performance of a 2 physical CPU solution (support for up to 2200 heavy user profiles)
3) CPU Utilization - 30% difference in utilization, but not an issue. Exchange is not a heavy CPU user. More important to focus on I/O and memory.
4) VMware's memory sharing technology did not show any performance degradation.

One of the biggest surprises for me was the VMware memory sharing technology had no effect. I'll be taking a closer look at this in other benchmarks and personal testing since it's hard to believe that there was no difference. Just to re-cap the memory sharing technology, if you run 4 virtual machines (aka vm) with Windows 2003 Server, you're running many of the same services (e.g. netlogon.exe, explorer.exe, etc) which consume the same memory, so VMware does a "single instance" type memory sharing between all 4 vm's.

To summarize, if you have the I/O capabilities and want to improve your business continuity solutions, I would consider looking into this further. I wouldn't just count this out. And I plan to run my Exchange Server in ESx very soon. Hope to see you there...

-Ben

No comments: