We just had a very good and interesting VMTN Podcast on virtualized MS SQL performance and best practices. One of the questions was about disk performance. Hemant Gaidhan talked about esxtop and how to discover possible performance issues, and specifically mentioned latency. I’ve never really looked into this section of esxtop and did a quick search and of course the “Interpreting esxtop Statistics” answered which counters to watch and what each counter represents:
Section 4.2.2 Latency Statistics
This group of counters report latency values measured at three different points in the ESX storage stack. In the context of the figure below, the latency counters in esxtop report the Guest, ESX Kernel and Device latencies. These are under the labels GAVG, KAVG and DAVG, respectively. Note that GAVG is the sum of DAVG and KAVG counters.
I recommend reading the rest of the 4.2.2 section to anyone looking for more indepth info on esxtop and storage performance. Also read page 14/15 of Hemant’s document on SQL Server performance/best practices. Another great read and tip from Hemant was the “Scalable Storage Performance” whitepaper.
Jason Boche says
Maish blogged on this recently and mentioned you by name. In fact, he Tweeted you today letting you know. 🙂
Hussain Al Sayed says
Hello Duncan,
Thanks for the great blog. I have just finished from installing and configuring Cluster of Active/Passive MS SQL 2000 with RDM provided via HP MSA1000. There are three RDM LUNs for the SQL purpose. One LUN for Database, One LUN for DB Logs, and One LUN for Quorum. All of the these LUNs are RDM and all of them presented to the reset of the ESX Hosts. Total 4!.
I have noticed that, If these three LUNs presented to the other ESX Hosts, I’m unable to Add a new Storage in the Vi-Client.
In additional to that, both SQL VMs are not on the same hosts, they are across-boxes. But, if the SQL Resource Active on SQL VM1, on that host, I can browse DataStore, I can Add Storage vi the Wizard, as well as I can add new LUN and format it with VMFS and use it without any issue.
However, If I remove the SQL RDM LUNs from other hosts, also I can Browse DataStore, I can Add new LUNs and Format it with Add Storage Wizard in Vi-Client.
Is this because, the RDM being used “Active” on one host, that’s why I cannot do anything on the rest of the hosts? Or it’s a bug?
Because, I do have Exchange 2007 Cluster with CCR across-box in the same hosts and using the same SAN Storage HP MSA1000, those LUNs also provided as RDM. Though, I don’t have any issue with the Exchange 2007 RDM.
Any thoughts?
Thanks,
Hussain Al Sayed says
Hello,
I got the issue why the ESX Host is timed out when using MSCS Cluster. Because the SCSI disk is being used “Busy” on the Active Node “MSCS Node” and the Host cannot initilize the request.
So the answer for then is a SCSI Reservation Conflicts. When I change the Settings in each host –> Configuration –>Advanced Settings “SCSI.Conflicts.Retries =10” Default was set to 80.
That solve the problem.