Btrfs Gets A RAID1/10 Speed Patch, Helping Out SSDs
A new Btrfs file-system kernel driver patch is now available to improve its RAID1/RAID10 read performance, particularly for SSDs.
In our Btrfs RAID benchmarks even recently the results haven't been the most compelling against say EXT4 with MD RAID, but for at least RAID 1 and 10 levels it looks like some read improvements could be on the way.
Phoronix reader "waxhead" pointed out this new patch. The patch description sums it up concisely:
It will be interesting to see if this work is further tuned and makes it into an upcoming kernel release (Linux 4.16+).
In our Btrfs RAID benchmarks even recently the results haven't been the most compelling against say EXT4 with MD RAID, but for at least RAID 1 and 10 levels it looks like some read improvements could be on the way.
Phoronix reader "waxhead" pointed out this new patch. The patch description sums it up concisely:
Currently btrfs raid1/10 balancer [balance] requests to mirrors, based on pid % num of mirrors.So basically for Btrfs RAID1/10 reads, it would prefer SSDs over rotational storage devices but otherwise would now determine the shortest queue of other storage devices to read from. At the moment though Btrfs RAID makes no determination of the fastest RAID device for its writes.
Update logic and make it understood if [underlying] device [is] non rotational.
If one of mirrors are non rotational, then all read requests will be moved to non rotational device.
If both of mirrors are non rotational, calculate sum of pending and in flight request for queue on that bdev and use device with least queue [length].
P.S. Inspired by md-raid1 read balancing
It will be interesting to see if this work is further tuned and makes it into an upcoming kernel release (Linux 4.16+).
8 Comments