Improving database performance by spreading VMDKs across SCSI Controllers

  • 26 September 2020
  • 0 replies

Userlevel 2

Nutanix infrastructure customers often suffer performance issues on their database, and call in to Nutanix Technical Support to help them resolve them.  One aspect I have observed with database customers, and which impacts their performance, is the placement of the VMDKs on SCSI Controllers.  Assuming that there are four VMDKs serving the database VM, they might have configured the four VMDKs as follows.  This is an extract from the ESXi Host which the VM is running on:

[root@esxasrk63u35:/vmfs/volumes/9f254e88-e3c751d/pqrsd00] cat pqrsd00.vmx | grep vmdk -A3
scsi0:0.fileName = "pqrsd00.vmdk"
sched.scsi0:0.shares = "normal"
sched.scsi0:0.throughputCap = "off"
scsi0:0.present = "TRUE"
scsi0:1.fileName = "pqrsd00_1.vmdk"
sched.scsi0:1.shares = "normal"
sched.scsi0:1.throughputCap = "off"
scsi0:1.present = "TRUE"
scsi0:2.fileName = "pqrsd00_2.vmdk"
sched.scsi0:2.shares = "normal"
sched.scsi0:2.throughputCap = "off"
scsi0:2.present = "TRUE"
scsi0:3.fileName = "pqrsd00_3.vmdk"
scsi0:3.ctkEnabled = "TRUE"
sched.scsi0:3.shares = "normal"
sched.scsi0:3.throughputCap = "off"

As you can see above, every one of the four VMDKs in the VM is using only one SCSI i.e. SCSI0 instead of being spread across all four of SCSI0, SCSI1, SCSI2 and SCSI3 present on the Host hardware.

My recommendation would be for you to distribute the four VMDKs across the four SCSI controllers instead of having all of them on SCSI0.  Think of the four-lane highway and compare it with a one-lane street.   You get the point.

This topic has been closed for comments