• We run all our production web and SQL servers virtualised and get good performance out of them. You just need to make sure the virtual servers have access to enough resources to get the performance you need.

    IO can be a bottleneck with virtual servers, and you should check how good your system is. We use the PAL tool available from Codeplex, and it has helped us find and overcome a number of problems.

    It is vital that you run PAL on both your old system and the new one. You will almost certainly find some periods of slow response on the new system, but what you need to find out is how the IO performance compares to what you were getting.

    Also, if you have any Windows-level monitoring tools, make sure they are monitoring CPU, memory and IO use on your servers. We found the key IO figures to measure are the perfmon Physical Disk: Disk reads / sec, Physical Disk: Disk writes / sec, Physical Disk: Current disk queue length. This will help you see if you have any serious bottlenecks at the virtual server level.

    Beyond your virtual server, find out what the total CPU and memory use is on the physical host. If that is running near 100% CPU you will not get good performance on your virtual server even though you may only see 10% CPU use on the virtual machine.

    Finally, you mention you are using SQL 2008, not SQL 2008 R2 or SQL 2012. You will get a small performance penalty running SQL 2008 because it does not support SLAT, which more recent versions of SQL Server do support and which will help performance (about 5%), particularly on a virtual machine.

    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