On Mon, Oct 12, 2009 at 11:00 AM, Chris Worley <worleys@xxxxxxxxx> wrote: > On Mon, Oct 12, 2009 at 8:22 AM, Mike Snitzer <snitzer@xxxxxxxxx> wrote: >> On Sun, Oct 4, 2009 at 3:40 PM, Chris Worley <worleys@xxxxxxxxx> wrote: >>> When you mirror two devices, they may not have the same performance. >>> For example, if one device is local and the other remote. >>> >>> There's nothing you can do about writes, as everything needs written. >>> >>> But, reads shouldn't be split 50/50: they should be balanced depending >>> relative performance of each mirror to optimize overall read >>> performance. >> >> And MD already has the ability to flag the slow paths as write-mostly, see: >> >> mdadm ... --write-mostly >> >> There is also '--write-behind' support for devices that have been >> tagged as 'write-mostly'. > > Will "write-mostly" optimize the "read", such that both devices will > be accessed in proportion to their performance? > > The man page says: > > "...and means that the ’md’ driver will avoid reading from these > devices if at all possible." > > Even a slow device can take some of the load and increase performance. AFAIK, with current MD raid1, reads are only balanced across all non-'write-mostly' drives. Having raid1's reads be issued proportional to each underlying devices' performance is not currently possible. I'd imagine that the per-bdi dirty-page accounting of each underlying device could be used to train raid1's reads (score each raid1 member over time) but I'm not aware of any effort toward that end. Mike -- 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