Re: IOPS from RAID units
- From: Bill Todd <billtodd@xxxxxxxxxxxxx>
- Date: Thu, 19 Jul 2007 05:49:34 -0400
s.bridge@xxxxxxxxx wrote:
Literature from storage suppliers show performance claims of over 1000
random IOPS.
If they are really random over an array, are they not limited by the
seek time ?
So an average seek time of 8.2 ms for a SATA disk would imply a
maximum of 122 seeks per
second. So how can you claim over a 1000 random IOPS ?
Aside from the considerations already mentioned, there is the fact that contemporary disks can reorder (most) requests in their queues to expedite aggregate throughput. If request queues are allowed to become fairly lengthy, this can more than double the I/O rate from what a serial request stream would see (i.e., a disk that could service 80 small random requests per second in a serial stream could service close to 200 if allowed to reorder a few dozen requests in its queue, and the fastest current disks which can handle about 180 serial small random requests per second could service close to 400 under such ideal - for this particular benchmark - conditions).
'Short-stroking' a disk (using only a small, contiguous fraction of its capacity to hold the relevant data) can improve performance a bit more: current disks (very roughly - you can actually calculate this by examining the relationship of average seek time, defined as being 1/3 of the way across the entire disk surface, to maximum seek time from start to end of the disk) accelerate the head for only about 1/6 of the distance of a full-stroke seek, decelerate it for another 1/6 of the distance at the end of the seek, and coast the rest of the way, which just happens to minimize nominal 'average' seek times. So (neglecting head-settling time at the end of the seek, though it rapidly becomes non-negligible as seeks get shorter) if you limit the data to, say, 1/12 of the disk surface, then the *worst-case* seek for data on that disk will be only half the duration of the *average* seek on a full disk (and the *average* seek time for that data on the disk will be less than 30% of the average seek time on a full disk).
Unfortunately, you can't combine these two approaches very effectively: short-stroking is great for serial small random requests, and queue optimization is great for parallel small random requests (at least as long as the long individual service times can be tolerated: that's the price one pays for per-disk throughput in this case), but queue optimization does nothing for serial request streams and while short-stroking does help parallel request streams the major reduction it makes in average seek time means that there's a great deal less that queue optimization can accomplish (though it can still help reduce the rotational latency component significantly).
- bill
.
- References:
- IOPS from RAID units
- From: s . bridge
- IOPS from RAID units
- Prev by Date: Re: IOPS from RAID units
- Next by Date: Re: IOPS from RAID units
- Previous by thread: Re: IOPS from RAID units
- Index(es):
Relevant Pages
|
|