I have a bare-bones Windows 2008 R2 Enterprise production server running SQL Server 2008 R2 Enterprise. We have a faster server that isn't being utilized and I'd like to move the production database onto it. However, I also wanted to use the faster server for something else, so my IT dept suggested building the machine as a XenServer and loading it up with 2 VMs. The second VM isn't resource intensive, so I'm not concerned about it (and for the purposes of this question, let's just imagine it doesn't even exist). What I want to know is: what are the performance implications of installing SQL Server 2008 R2 (Enterprise) on a VM? I am guessing I/O performance will suffer, but by how much? What things should I consider when making this decision?

I realize the answer to this question will probably be "it depends." So I'm looking for general info and tips/suggestions. Here are some of the specs for the server we're thinking of using for the VM:

  • Intel Xeon Quad Core @ 2.4GHz (x2)
  • 12 GB RAM
  • 5 7200 RPM HDDs (approx 4TB) in a Raid-5 array

EDIT: By the way, the database instance isn't huge. It's only about 8GB (including tables, indexes, etc).

  • 1
    why are you using xenserver? Are you quite familiar with it, if not I'd use hyper-v its free and performs much better when virtualizing w2k8r2 guests. – tony roth Apr 27 '11 at 23:20
  • I'm not using XenServer - our IT dept uses it. I'll suggest Hyper-V and see what they say. :) – Kevin Babcock Apr 27 '11 at 23:24
  • Anecdotal but... back when we decided to virtualize our back-ends, I invited a Microsoft engineer, showed him my requirements, and he said, "I suggest using VMware or XenServer." – pepoluan Apr 27 '11 at 23:48
  • 1
    if your it dept is used to xen then by all means use it, I use it alot its our choice for non w2k8r2 deploys, its just that w2k8r2 performs better on hyper-v r2. – tony roth Apr 28 '11 at 12:16

I happen to be running a production SQL Server 2008 R2 on top of Windows Server 2008 R2 on top of XenServer 5.6 fp1 on top of HP DL580 with a pair of SAS in RAID1 configuration.

The database's load is approx 100-200 tpm. No detectable performance hit.

There are 2 other VMs in that box: an ArcServe Server (datastore pointed to an IBM DS SAN over GbE iSCSI) and a staging Email server (hMailServer, soon to replace our older and unstable Mercury/32).

I think the only way to find out will be to test it out. Find out how much IOPS your RAID5 is capable, and how much IOPS your database needs.

Oh, and give your VM a lot of RAM. A healthy amount of cache helps.

| improve this answer | |
  • 1
    Your welcome. In fact, we have another DL580 box running 10 VMs on XenServer, 6 of them with heavy IO (Mercury mail server, caching proxy, and 4 stockmarket datafeeds). The box has been chugging happily since early 2010, no complaints re: performance :) – pepoluan Apr 27 '11 at 23:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.