To focus on IOPs or not to focus on IOPs that is the question? As I sort out a new sizing dilemma I’ve run into a potential problem with SATA drives and IOPs contention.
The Scenario:
Storage Array: NetApp 6280, Data ONTAP 8.1.1, 3TB SATA, DS4243 Shelves, 10% Aggr Snap Reserve (Why? Because wafl iron rebuilds take a fraction of the time with Aggr snapshots)
User Home Directories: 20GB allocated to each user with 20% snapshot overhead
Disks | TB / Disk | IOPs / Disk |
72 | 1.86 | 75 |
TB / Aggr | GB / Aggr | IOPs / Aggr |
134 | 123,494.40 | 5400 |
GB / User | Users / Aggr | IOPs / User |
24 | 5145 | 1.05 |
This leaves me with 1.05 IOPs per user. A couple things to make note off, this assumes 100% concurrency ie. all 5,145 users accessing this volume at the same time which is highly improbable. If 75% concurrency is plugged in the IOPs per user grows to 1.4 which seems more reasonable.
Concurrency | 75% Concurrency Users | IOPs / User |
75% | 3858.75 | 1.40 |
The assumption is that 25% of the user accounts within any organization are for temporary users who are not logged in on a consistent basis.
Possible Solutions to the potential IOPs performance shortage: Since it’s a NetApp array write performance can only be improved by either adding flash pools, upgrading to a higher performance controller, or by adding spindles/disk. For read performance addition of flashpools, flash cache (read only), or additional spindles would add performance.
Concurrency | 75% Concurrency Users | IOPs / User |
75% | 3750 | 1.44 |
Making the numbers more “round” yields a slight difference in IOPs / User. This issue will be exacerbated with 4TB SATA and future large capacity drives.