Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
    
So to clarify, with Azure you are talking about running SQLServer on a VM, not using SQL Azure? –  Craig Aug 22 '12 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 '12 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 '12 at 6:50
add comment

2 Answers

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.

share|improve this answer
    
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 '12 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. –  HopelessN00b Aug 22 '12 at 7:32
2  
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 '12 at 16:13
    
Thanks @CoreyH - always good to hear some real world experience. –  Dan Nov 6 '12 at 6:17
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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