This week I was visiting a client who bought an expansion on their MD3000i storage of 5 disks.
I wanted to know if all 6 servers would fit on a new raid 5 set (4+1) so I started to monitor the Disk Commands/Sec with ESXTOP for a number of hours to see what the servers generate on a normal working day with everybody at work.
I logged in both ESX hosts and started ESXTOP
Make sure you only capture relevant info.
You need to remove all all other fields in c:cpu i:interrupt m:memory n:network d:disk adapter u:disk device p:power
remove (f) the metrics you don’t need. After that write (w) the configuration to disk to /tmp/io
this example uses v:disk metric
Enter command: “esxtop -b -c /tmp/io -d 2 -n 5400 > /tmp/diskio-pervm.csv”
- -b is for batch mode
- -c is the configfile for esxtop which you saved.
- -d sets the delay between updates in seconds.
- -n runs esxtop for only n iterations, in this case 30 times per minute x 60 times per hour x 3 hours = 5400
- /tmp/diskio-pervm.csv is the location where the output of the logging will be written.
The measures every 2 seconds all I/O stats per VM * 5400 times (3 hours). This got me a 20Mb CSV file I used to import into excel. This can be extended to 12 or 24 hours to give a good overview. Don’t make it too long because it will make the CSV file too big and unusable.
I imported the “,” delimited file into excel and deleted the cells that where of no importance to me.
make sure u use the correct delimiter:
You can download my Servers IO Excel Sheet, and include your own stats. This will generate your own custom graphics, very cool stuff!
Include the total Command per Sec counters for every server: and delete the rest.
for example: \\esx1\Virtual Disk(srv03)\Commands/sec
This would easely fit on my raid5 set, but… I did not measure any backup window.
Best would be to run a 24 hour window and or repeat the same thing the whole week to get some good results.