• Jonathan Kehayias (1/11/2009)


    One other thing to test for your larger database is the effect of parallelism waits CXPACKET on performance. My experience with VM's is that parallel processing is a performance killer rather than a performance enhancer. The reason for this is that the VM host software is configured to manage context switching and the multiple threads are no longer going against multiple processors necessarily. Generally speaking, I see much better performance from my VM's be setting the Max Degree of Parallelism to 1. If your 1TB+ database currently benefits from parallel processing, you definately want to test what the performance will be like under a VM.

    Please make sure that you read my entire statement above. I am not saying to always set maxdop 1, but monitor it. If you find high level of CXPacket waits, then you are having parallel bottlenecking. The only servers I have ever had issues with this are virtual, and it generally on the larger 100GB+ databases. I rarely see CXPacket waits on servers with DB's that are small, no matter how many databases there are on the server. You have to test this to know for certain whether it affects you.

    Jonathan Kehayias | Principal Consultant | MCM: SQL Server 2008
    My Blog | Twitter | MVP Profile
    Training | Consulting | Become a SQLskills Insider
    Troubleshooting SQL Server: A Guide for Accidental DBAs[/url]