I wanted to take a moment to point out this VMWare KB article I came across recently. I really do love how the KB article points out the need for accurate disk configurations. I often see misconfigured disks resulting in a performance bottleneck for a virtualized environment. So that part of the KB was great for me to see and read.
Unfortunately, I feel they left out a few other important pieces of information with regards to SQL Server performance. Let’s just say that I found some details to be incomplete and others to be misleading. Thus the title of this post has the word “incomplete”.
1. They NEVER talk about memory settings
It is as if they are completely ignoring the fact that SQL Server needs sufficient memory in order to operate efficiently. Reading that KB would make me think that SQL Server is a CPU hog, and not the memory hog that some are led to believe. In my experience it is not CPU pressure that is the performance problem with SQL Server, it is the misconfiguration of memory settings, something that needs to be addressed in a VM environment as well.
2. They NEVER mention the network
By now we have all learned to blame the network for any issues. It is the equivalent of a general contractor telling you your home will be done “in two weeks”. But here we get no mention of the fact that if you only have one vNIC tied to one vSwitch you are likely to have a network resource constraint. I am always amazed at how people can spend millions of dollars on hardware and forget the fact that the data has to be moved across the network. It’s as if they think the 0’s and 1’s just magically appear on the other end of the pipe.
3. They NEVER mention tempdb or database backups
The KB does mention putting data and logs on separate drives, which was nice to read. But no mention of tempdb, or database backups? Perhaps that discussion is out of scope here, I don’t know. But it would have been nice to at least touch upon it and perhaps link to a more in-depth KB article that explains how to properly back up your databases when running in VMWare (hint, it ain’t by relying on VM snapshots).
At the end of the day I want people to understand that there is more to SQL Server on VMWare than just CPU and disk configurations.