3

I'm looking into splitting our database server and application server and am evaluating offerings from Rackspace and Azure specifically around the database server. We are a Saas Web application and performance and capacity for future growth is what is important to us.

Rackspace have told me that it is important for performance to have a machine dedicated to SQL server and more importantly that there is no virtualisation layer between the OS and the HDD. ie. Another word for this is a "Bare Metal" configuration.

Azure evangelist has said that they have no problems running SQL Server on a virtual machine that is the sole tenant of the physical machine and that they have finely tuned this configuration to get much higher throughput (3-4x) than Rackspace would achieve through their virtualisation layer (VMWare apparently).

Azure are way cheaper and seem to have a better long term story in terms of scaling out the database easily. Am I going to achieve the performance gains I am after with the virtualisation layer in place? Who is telling the truth? Are there any performance stats or whitepapers where I can research or compare further.

3
  • So to clarify, with Azure you are talking about running SQLServer on a VM, not using SQL Azure?
    – Craig
    Aug 22, 2012 at 6:31
  • That's right Craig. And perhaps that doesn't then give me the same ability to scale out. I'm keen to have a dedicated/non-shared machine for our database server.
    – Dan
    Aug 22, 2012 at 6:37
  • Yes, if you have not designed your app to scale out as opposed to scale up then SQL Azure could have performance issues.
    – Craig
    Aug 22, 2012 at 6:50

1 Answer 1

2

Well, SQL runs horribly slowly on my 1993 Compaq PC (with a 33Mhz and 4 MB of RAM), but really well on an ESX guest VM with 8 vCPUs, 64 GB of RAM and an attached FC SAN for its disk.

So, it depends on the specs of your machines.

All else being equal, a database server on bare metal will outperform a virtualized one, but to what specific degree really depends on a myriad of configurations and usage patterns - of the machine, OS and SQL server itself (and you don't mention any of that). The only real way to get a precise answer is to do benchmarks, which seems like it's going to waste a lot of money to tell you want you already know - virtualized performance is worse to some degree, with the major determining factor being disk I/O. (This is where the 3-4x throughput number comes from - disk I/O can be 3-4x slower through a virtualization layer than through directly attached drives.)

How much that difference that makes really depends on what "performance gains," specifically, you need to get out of your database server. You don't say, so it's anyone's guess what your performance needs really are. Without solid performance metrics to analyze, it's not possible to say one way or the other. And whichever way you go, you'll really need those metrics if you want to build it right from the start.

As far as scalability, you can get pretty nice scalability for a SQL server out of a bare metal box these days, which might be something to take into consideration... I bet you could get a lot of I/O serving a database off of one of these, and if you properly spec out your base server model, you shouldn't have any problems adding additional CPUs or RAM or traditional discs/attached storage.

So really, it sounds like a lot more research on your part is order, at least as far as what your requirements (and monetary constraints) are before you settle on any solution.

4
  • Thanks for your answer. To be clear the Azure guy was saying their virtualisation layer had 3-4x times the IO to SQL server than the rackspace vmware layer due to some 'tuning' they had done.
    – Dan
    Aug 22, 2012 at 7:24
  • @Dan That could be true too. Or it could be the same "our platform's the best" spiel every vendor gives you. Aug 22, 2012 at 7:32
  • 3
    We followed Rackspace's advice and went bare metal and it is faster, but nowhere near the ROI we hoped. We implemented Couchbase (memcached) across the site and dropped our load on SQL down to the point where we'd prefer to put it back on the cloud and save the money. Dedicated servers are EXPENSIVE from Rackspace.
    – CoreyH
    Aug 23, 2012 at 16:13
  • Thanks @CoreyH - always good to hear some real world experience.
    – Dan
    Nov 6, 2012 at 6:17

You must log in to answer this question.

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