What are IOPs?
Applies to
All storage systems
Answer
- IOPs stands for Input/output Operations Per Second, and are each SCSI command or NAS operation
- Commonly used to measure the performance of storage
- For read or write operations, please keep in mind they can be measured in units of bytes
    - Sometimes this is called operation or block size
- A 1 MB file for example can be read in 256 4kB blocks, or 16 64kB blocks
        - In this example, 4kB would be 256 read IOPs, or 16 64kB read IOPs
 
 
- Other IOPS are anything not read/write (metadata generally) and each request on the wire is accounted as one IOP in ONTAP
What are the performance characteristics of different op sizes in ONTAP 9?
- Random IOPs will take more CPU and may have higher latency than sequential
    - Random IOPs blocks are read not in any order off of disk, like block 3, 12, 66, 1, etc.
- Sequential IOPs blocks are read in order off of disk, like block 1, 2, 3, 4, etc.
 
- Smaller operation sizes generally require more computation
    - In the example above of a 1 MB file, ONTAP has to go to disk 256 times and process 256 operations at 4kB vs only 16 at 64kB
 
- ONTAP will handle over 64kB fine, but due to the normalization of operation sizes, latency may appear slightly higher
    - This is better in newer versions of ONTAP 9 compared to Data ONTAP 8
- A 1 MB read size will have 16 WAFL requests of 64kB each in parallel
 
Are disk IOPS measured the same as frontend IOPS?
- No
    - Disk IOPS vary for various reasons and are decoupled from backend IOPS
- For more information see Why does the sum of all volume IOPs in an aggregate not match the aggregate IOPs?
 
What causes IOPS? Does ONTAP generate IOPS?
- ONTAP does not track IOPS for internal processes but uses different methods of accounting them.
- IOPS are generated from user requests for all served data protocols (CIFS/FCP/iSCSI/NFS/NVMe*/S3).
    - One of the only exceptions is if you use set advanced; statistics start -object volume -counter repl_*_opswhich will show SnapMirror IOPS.- Some other volumeops counters have this, but this is not typically used except by Support or Engineering.
 
- Some other 
- The commands for qos statisticsand the workload objects for statistics, as well as other commands are all user IOPS.
 
- One of the only exceptions is if you use 
- If a workload burst happens, then it must be investigated from the client end.
Additional Information
- A list of NFS and CIFS operations, and link to Wikipedia SCSI codes are on this article: What operations are categorized under Other IOPS in ONTAP?
- How to confirm volume latency and IOPS
