SQL Server on a virtual server

  • I cannot find the ref right now, but if I'm correct you should be able to - and must - take control over IO.

    This is the critical point that makes people use Hyper-V with SQLServer.

    http://msdn.microsoft.com/en-us/library/cc768529%28BTS.10%29.aspx

    contains a section "Optimize Performance of Disk, Memory, Network, and Processor in a Hyper-V Environment"

    Measuring is documented at http://technet.microsoft.com/en-us/library/cc768535%28BTS.10%29.aspx

    These are not the refs I was looking for, but they handle VM and IO:

    http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL2008inHyperV2008.docx

    https://globalsp.ts.fujitsu.com/dmsp/docs/wp-pr-hyper-v-en.pdf

    http://www.virtualpro.co.uk/2010/05/10/storage-io-control-sioc-vmware-drs-for-storage/

    Johan

    Learn to play, play to learn !

    Dont drive faster than your guardian angel can fly ...
    but keeping both feet on the ground wont get you anywhere :w00t:

    - How to post Performance Problems
    - How to post data/code to get the best help[/url]

    - How to prevent a sore throat after hours of presenting ppt

    press F1 for solution, press shift+F1 for urgent solution 😀

    Need a bit of Powershell? How about this

    Who am I ? Sometimes this is me but most of the time this is me

  • We are currently utilizing VMWare on our development and test environments only. Due to hard drive constraints, we tend to have to plan large data imports on the development side on specific databases at a time. The discussion has been brought up many times about moving away from VMWare on all of our SQL platforms to mimic the production side more closely.

    Chris Powell

    George: You're kidding.
    Elroy: Nope.
    George: Then lie to me and say you're kidding.

  • I would have to say also it depends.

    It depends on the VM solution and the team that designs and deploys it.

    I have seen several VM solutions that operated faster than the systems they replaced and had better utilization of more resources. Recently this has been greatly improved.

    I have seen other solutions, all of these used free VMware or VirtualPC, that were so slow and unreliable they never were used.

  • If I'm using Hyper-V is the maximum number of virtual CPUs 4 per VM ?

    (my SQL instance on physical server currently utilizes 16 cores)

  • Depending on the IOPS requirements of your SQL Server, you may need to use pass through I/O.

    By default, all VMs in an environment are assigned storage from the "shared pool". This can greatly complicate I/O performance management, if it is important.

    For Dev and even possibly QA it may not be as important. However, for Production and in some cases even QA I/O performance is very important. In that case LUNS can be created external to the VM pool the same way they would be for a physical box, and then presented to the VM as though it were a physical box.

    This allows you identical storage peformance and tuning as though you were using a physical box.

  • We configured a high transaction database server with large throughput and found that the system IO was 18 - 30% slower according to our IOPS meter in Virtual machine than a similarly configured physical machine. We could buy some with attached storage but not enough to make it pay. It will get there some day, and some databases virtualize okay but not high transactional ones.

  • How you configure your virtual enviornment is vital to using it for SQL Server. All of our servers are virtual including our production servers and our performance is stellar. Our biggest database is over 2 tb and we do not have any problems with performance. There are a few basic settings with the drives formatting which will need to be used instead of the default and you are good to go.

  • I'm not sure that I agree that is "all you need to do", but true since this thread has started VMWare has improved considerably and it can be used for production environments. There are several things that are key, like Remote Drive Management instead of using the VW File System, and making sure that you protect your VM from having it's memory stolen by the balloon driver, and there are several way to do that.

    Regardless, performance is harder to manage on a virtualized system and you have to be careful to protect you database VMs from being abused by other non-SQL Server VMs.

    Given enough excess capacity you can have "stellar" performance even without doing these things, albeit at a much higher cost in hardware than you would have otherwise had to pay. In that case I think I would say that you are getting performance "in spite of Virtualizing" instead of because of it.

    Hey, if money is no object you can do almost anything right?

  • If you want to see how a site delivering over 2 million page hits per day running on Amazon Web Services (AWS) performs, then look at http://www.totaljobs.com

    We completed our migration to AWS, using SQL 2012 running on Windows 2008 R2, in November 2012, and want to give a presentation about how we did this at SQLBits XI in May 2013. If you want to see this, please vote for http://www.sqlbits.com/Sessions/Event11/AWSome-Totaljobs_moves_to_the_cloud4

    Original author: https://github.com/SQL-FineBuild/Common/wiki/ 1-click install and best practice configuration of SQL Server 2019, 2017 2016, 2014, 2012, 2008 R2, 2008 and 2005.

    When I give food to the poor they call me a saint. When I ask why they are poor they call me a communist - Archbishop Hélder Câmara

Viewing 9 posts - 31 through 38 (of 38 total)

You must be logged in to reply to this topic. Login to reply