I'm looking at adding solid state storage to our infrastructure, either as a high tier or as a cache for a large datastore. From what I've read, it's most cost-effective when your virtual servers have a high ratio of 'cold' to 'hot' data. The phrase I've heard a few times is to look into solid state for applications where "80% of your reads (or writes) are for 10% of your data".
My question is: how do you establish that? I have a good educated guess about the i/o patterns of certain applications, but I'd like to confirm it. Are there any tools out there that can do this? What do you use for your planning?
I know Sysinternal's Process Monitor can record the number of read/write requests for a file, but it doesn't show it in a way that accounts for the size of the file, and that would be necessary to account for how big the 'hot' data was.
Thanks in advance for any suggestions that are offered...
You want vSCSIStats:
and look at overall seek distance. that will show you the lcoality of referance data you want.
while I agree that vSCSIStats is the tool you need, it wouldn't really help you with your specific task.
But when you're planing to move a complete vmdk to your SSD, so vSCSIStats would do the trick.
vSCSIStats isn't able to document how often a track is touched, it could only document if your workload is more random or sequentiell.
And if your hot spots are distributed randomly over your disk, you wont be able to see this from the stats.
This is usually possible on the array side, there you should be able to identify the hot spots.
And some array vendors offer the functionallity to move hot tracks between different storage tiers.