[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20170203232415.21c0b16f@localhost>
Date: Fri, 3 Feb 2017 23:24:15 +0100
From: Stevie Trujillo <stevie.trujillo@...il.com>
To: linux-raid@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: mdadm raid6 sequential read slower than reading from userspace
Hello
Kernel: Linux version 4.9.0-1-amd64 (debian-kernel@...ts.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
View attachment "raid6read.cc" of type "text/x-c++src" (8080 bytes)
Powered by blists - more mailing lists