Neil Brown wrote:
The read balancing in RAID1 assumes that co-located reads are likely to be more efficient than widely disparate reads, but it isn't a very crucial assumption. RAID10 assumes that if there is a systematic performance difference across the address space, performance is likely to be better nearer the start. Resync/recovery makes some very vague assumption about overall throughput in the default resync-max/min speeds, but they are very vague and easily tuned.
Permit me to be inspired by these two paragraphs, and to suggest that the positional performance and rebuild speed relate to some issues in another thread about rebuild killing performance. Would it be possible (and not overly complex) to tune the rebuild/check speed to the other system load, such that instead of a max rebuild speed the limit would be the delay in servicing external (user generated) i/o? I don't have a metric in mind, but it seems as though both position on the drive and load on the system are important, and if a admin tunes the system to allow very low rates, under heavy system load or on slow parts of the drive(s).
I know there is a concept of "idle" involved, but the issue is not just if the array is being used, but rather how much the background activity is allowed to impact performance. Perhaps a count of the average number of user i/o behind a system i/o would be useful, if actual clock time isn't easy to use.
Does any of this sound as though some perceived performance issues might be addressed differently?
-- Bill Davidsen <davidsen@xxxxxxx> "We can't solve today's problems by using the same thinking we used in creating them." - Einstein -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html