The only way I've found in mdadm to make 2 drives perform like a proper RAID 1 (eg. the read speed should be 2x that of a single drive) is to use the --layout=f2 (far 2).
mdadm raid10 performance issues.
Be very aware that mdadm seems to default to layout=n2 (which means near). In this scenario it means it is like mdadm RAID 1 performance (you get maximum read speeds of a single drive).
dd if=/dev/md126 of=/dev/null bs=1M count=2000
2000+0 records in
2000+0 records out
2097152000 bytes (2.1 GB) copied, 6.46397 s, 180 MB/s
Now look at the difference in the same drives in layout=f2 (which means far).
dd if=/dev/md126 of=/dev/null bs=1M count=2000
2000+0 records in
2000+0 records out
2097152000 bytes (2.1 GB) copied, 6.46397 s, 324 MB/s
As we can see the speed is nearly double (a small amount of bandwidth appears to be lost as overhead due to mdadm)
mdadm, mirrored, raid, layout, solutionthe, ve, eg, default, maximum, speeds, dd, dev, md, null, bs, bytes, gb, copied, mb, bandwidth, overhead,