Hello Kernel: Linux version 4.9.0-1-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20161229 (Debian 6.3.0-2) ) #1 SMP Debian 4.9.2-2 (2017-01-12) CPU: 2xE5-2665 Memory: 256GB Drives: 6x8TB Seagate Controller: LSI2008 md0 : active raid6 sdb1[1] sda1[0] sdd1[3] sde1[4] sdc1[2] sdf1[5] 31255576576 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU] bitmap: 0/59 pages [0KB], 65536KB chunk When I read sequentially from one of the disks I get 230-245MB/s. If I read from all of them at the same time, the performance stays the same (even if I bind all the dd processes to the same core). Conclusion: I think the controller is not a bottleneck. I first tried Debian8 with 3.16 and got 400-500MB/s when dd-ing from /dev/md0. Upgrading to Debian9 with 4.9.2 roughly doubled my performance: 53687091200 bytes (54 GB, 50 GiB) copied, 62.0078 s, 866 MB/s 53687091200 bytes (54 GB, 50 GiB) copied, 57.9882 s, 926 MB/s dd uses 40% cpu and I can't find any process that uses more, so I don't think I'm limited by CPU. I wrote a small program that reads directly from the disks and outputs the same data as reading from md0 would do. It's faster and has more stable runtime than reading from md0: it finishes in 44.0 +- 0.2seconds (that is ~1150MB/s). Is it possible to make mdadm work faster? I was hoping it could read 6x240MB/s, but maybe that's not possible. At least I think it should be able to do 1150MB/s like userspace? How can I find out what bottleneck? I couldn't see anything obvious like 100% cpu usage. I tried copying different tuning instructions I found on Google, but they usually made negative impact if any. I attached the program, but I'm still learning programming so it's not very good. -- Stevie Trujillo