in EMC CLARiiON Storage System Fundamentals for Performance and Availability, page 29. it says: This measurement（of IOPS） is independent of request size
so, what's the unit of IOPS. in my opinion, the IOPS is very dependent on the IO size.
The context of that statement is in actually measuring IOPS... What they are saying is that the number of I/Os processed per second is a measurement of it's own and is not dependent on the size of the IOs themselves. ie: 1000 IOPS @ 4KB = 1000 IOPS, 1000 IOPS @ 32KB still = 1000 IOPS. As IO size varies at a given IOPS, bandwidth will be affected.
Where IO size matters is as size climbs over 16KB and into the 64KB+ territory, the maximum number of IOPS sustainable by a given storage system will decrease. ie: IOPS and Bandwidth are inversely proportional.
Actually it's the other way around: IOps varies as I/O size varies. IOps is a dynamic value, I/O size is a fact. If I/O size goes down, IOps goes up. And between 32kB or 1kB there's absolutely a difference in IOps.
Knowing the author, I can confirm what his intent was. But I think he caused some confusion.
The measurement of IOPS is IO size agnostic. E.g., If I am doing 1000 IOPS at 8 KB, or 1000 IOPS at 32 KB, I'm still doing 1000 IOPS. A pound of lead weighs the same as a pound of feathers.
The performance of a system when using IOPS as a measurement is dependent on the IO size. So, if my machine has the capability of performing 1000 IOPS at 8 KB, it is unlikely to have the capability of doing 1000 IOPS at 32 KB. My car can do 150 Kilometers per hour but only 90 Miles per hour.
The conversion from MB/s to IOPS is dependent on IO size. This is a linear relationship. 1000 IOPS at 8 KB is (1000 * 8 )/ 1024 MB/s = 7.8 MB/s
However 1000 IOPS at 1 MB IO size is 1000 * 1 = 1000 MB/s