Today I received a question around the difference between IOPS and CMDS/s. The reason for this was the high value of CMDS/s in “esxtop” which exceeded the expected amount of IOPS the disks could actually digest. I thought it would useful for everyone to know what the difference is:
- IOPS = Input/Output Operations Per Second
- Within esxtop this would be the outcome of “Number of Read commands(READS/s) + Number of Write commands(WRITES/s)”
- CMDS/s = Total commands per second
- Within esxtop this includes any command(for instance SCSI reservations) and not necessary only read/write IOs
One thing to stress though is that in any case the CMDS/s should be relatively close to IOPS, but when there are a lot of metadata changes due to snapshots for instance the difference can be significant. Where this significant difference came from is something we are still investigating and we are hoping to solve pretty soon. If we manage to solve it you can expect an update here.
Georg Pohl says
Hi Duncan,
did you figure out how the difference between CMDS and IOPS evolves ?
Ok, i understand, that
– SCSI Reservation
– SCSI LOCKs
– Vendor string requests and so forth
– UnitAttention commands
are no reads/ writes.
What I do not understand is the statement METADATA CHANGE.
Don’t these translate to changed blocks of at least the config files and the vmfs/ nfs filesystem ?
Therefore thes should not make up a huge diference.
Can you light up this ?
georg
dharmesh says
Active commands are always less than the Commands / s (even less than read / s OR write / s) ?