Linux – How many IOPS do I need? My workload bottleneck is storage

capacity-planninglinuxperformancestorage

How can I know how many IOPS I need my storage to deliver for my overloaded Linux server?

I have a server and I know it has storage as its bottleneck. I would like the bottleneck not to be storage, I thus need to size the storage array performance. That is, buy an array that delivers more IOPS than I need.

How can I know, given some system IO statistics, or other information, how to size my storage performance (what to buy) to serve more than I need (taking the worst case scenario -heavy IO contention- as reference).

For example, the iostat utility can give some interesting statistics about IO usage. Can I use that information to know what hardware performance I need? How?

This is a general question, the actual workload type or software does not matter (could be a database for example), I just need to be able to make a decision based on current IO statistics and usage.

Best Answer

iostat command will show you information you want. Just run:

iostat 1

The output will be something like this:

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              42.00       128.00        84.00        128         84

The tps is transactions per second which is same as ops.

This will make it update every second.

You usually need to have systat package installed on your Linux Distribution to have iostat available.

Related Topic