2011/5/3 Morad, Steve <morad@xxxxxxxxxx>: > I have a few questions about volume mirroring performance implications. > > 1. I'm looking for an optimal configuration to maximize read speed while protecting the data from a disk failure (e.g. for an application that primarily does reads). For RAID 1, does the linux raid driver perform parallel read requests across all available disks? If, for example, I set up a RAID 1 volume with 4 disks, would the OS handle concurrently reading (different) data from all 4 disks at the same time? today read_balance algorithm is optimized for multi-thread read algorithm preffer disk with minimal head distance (current block - block that will be read) you can unselect disks setting they as write-mostly optimizations at raid1 aren´t for bigger sequencial read, they are for multi-thread > 2. Similarly, would a RAID10 configuration give me the same (or better) read behavior across these same disks, while providing twice the storage capacity of the above configuration? in md world raid1+ raid0 != raid10 raid10 can use layouts raid1 can´t raid10 have diferent read_balance algorithms than raid1 raid10 with far layout is better optimized for sequencial read (it´s like raid0 stripe) raid10 with near/offset layoute are better optimized for multthread > 3. Is the raid driver smart enough to keep track of underlying volume performance history or queue lengths and make read requests appropriately? For example, if for some crazy reason a 10K disk was mirrored with a 7K disk, would the OS make more read requests to the 10K disk than to the 7K disk, or would read requests be equally distributed across both disks? no i made a new raid1.c algorithm for kernel 2.6.37, that you can change this options, you will have 1% of speed improvement in a very high workload of read (ok it´s not a lot but i tested three times (1 hour non sequencial test) and 1% are seeing, it´s not a error of benchmark), you can mix SSD and HD too code is here: http://www.spadim.com.br/raid1/ it´s not a md-team solution it´s a patch, more information inside the file to compile you must compile like anyother kernel module make drivers/md/raid1 .... > > -- > 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 > -- Roberto Spadim Spadim Technology / SPAEmpresarial -- 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