using a Unity 450F, i am wondering how a shared host i/o limit applies to the following example:
we have two LUNs sharing a Host I/O Limit of absolute 10000 IOPS.
How will the system limit the access?
a) Each LUN has a max. IOPS of 10000 (resulting in 20000 IOPS possible, but only 10000 per LUN)
b) All LUNs with the limit share the 10000 IOPS
Thanks in advance.
Solved! Go to Solution.
Correct. It would be a total limit of 10K IOPS for those LUNs.
So if they are performing very similarly, they might do around 5K iOPS each, but the overall limit of 10K will never be passed on these LUNs (or this LUN group as a whole).
Andre @ Dell EMC
Thanks, but what happens in this case if one LUN is using most of the limit?
Will the system respect FC Queue lengths for load balancing or
distribute the available Host I/O evenly?
If one LUN is using most of the limit, then the remaining LUNs will only be able to use the remainder of the limit. The shared limit is an upper limit on all the resources assigned to that limit. Unity will not control how each LUN is using that limit, only that the LUNs as a combined group do not exceed the limit.
Let me give you a very practical example from my lab here:
I have a VM with two RDM disks, which are obviously two LUNs, one on SPA, one on SPB.
I have IOmeter running IO equally to both disks.
Without Host IO limits, they are doing over 20k IOPS each.
If I stick a shared HostIO limit on these two, say for 10k, it splits them half way and allocates 5k IOPS to each.
So now I have the 2 LUNs doing 5k IOPS each for a total shared of 10k.
So from experience, I don't think one very busy LUN would starve the other member of it's "group". To test my theory, I changed the IO workload on the two LUNs as follows:
- Paused HostIO limits
- Changed IOmeter to send way more IO to one LUN than the other.
- So now I have one LUN running at around 25k IOPS, and the other running at 7K ish.
- I set the same HostIO limit of 10k shared to see if the system will split them up proportionally to what they are doing without limits, or half way at 5k again each.
- The result is another 50-50 ish break half way with each LUN doing around 5k IOPS. There is a slight difference now whereas before it was an exact 50-50 split. So it might be a slightly proportional split, but seems minimal.
This was just a quick test here and doesn't mean this will always be the behavior.
You'll have to test in your environment to see how it behaves.
In any case, it's like Chris said. HostIO limits (shared) will give you X resources to be split up between the members. And I don't think one busy LUN will starve out the other members. From my experience there seems to be an attempt to split the shared value equally, but as I said it may not always be the case.
Does this help?