I've asked a lot of questions about this lately, and I think I'll just quit beating around the bush...
Let's say I've got a storage system that is being used for a variety of applications with different I/O patterns. I've been collecting performance statistics on the system:
- transfers/sec
- sec/trasnfer
- bytes/transfer
- bytes/sec
- %idle
and I've calculated 95th percentile, average, and median for each. I also know what my average read / write ratio is.
I understand how to calculate potential average IOPS and throughput for a new system given disk, array, and average workload parameters.
I'm struggling to put this all together. Currently observed statistics are limited by the existing system which is struggling to keep up. Thus I might know that I require X IOPS, but this value may be low because of the current disk bottleneck, etc. (I know it's overworked because I'm seeing constant high disk usage and many multi-second periods of very high transfer times)
To be frank, I'm not doing anything hardcore and I can pretty much just buy some faster disks and configure my arrays better and it'll work out. But I'd like to understand how I might take a more formal approach to justifying an expense and to not over-buy.