12-CURRENT AND 11-stable: ZFS single stream/large files read performance degradation
Alex Tutubalin
lexa at lexa.ru
Tue Dec 6 10:24:09 UTC 2016
On 12/6/2016 10:52 AM, Alex Tutubalin wrote:
> This box has upgraded to 12-current several weeks ago, it was also
> updated with new disks and after that I see serious read speed
> performance degradation.
It is looks even worse, 11-stable is affected too:
- Another box, different hardware: i3-6300T, 32Gb ram, C236 Chipset, 6
x 6Tb HGST drives (3x7k6000 and 3xHe8) connected to motherboard SATA ports.
The only zfs related tunables are about ARC size:
vm.kmem_size="30G"
vfs.zfs.arc_max="29G"
11-STABLE:
FreeBSD home-gw.lexa.ru 11.0-STABLE FreeBSD 11.0-STABLE #1 r308516: Fri
Nov 11 13:15:21 MSK 2016
lexa at home-gw.lexa.ru:/usr/obj/usr/src/sys/GENERIC amd64
Read speed of 100Gb file:
lexa at home-gw:~# dd if=/ztest/100g of=/dev/null bs=1m
102400+0 records in
102400+0 records out
107374182400 bytes transferred in 640.324508 secs (167687135 bytes/sec)
(zfs recordsize is 1m for this dataset)
(Note, this is about single disk speed, He8 drives are capable to get
175Mb/sec at faster tracks, 7k600 are about 195Mb/s).
Downgraded to 11-RELENG:
FreeBSD home-gw.lexa.ru 11.0-RELEASE-p3 FreeBSD 11.0-RELEASE-p3 #2
r309605: Tue Dec 6 12:31:16 MSK 2016
lexa at home-gw.lexa.ru:/usr/obj/usr/src/sys/GENERIC amd64
read same file: same shit, about 160Mb/s.
Re-created the file using downgdaded ZFS code:
lexa at home-gw:/home/lexa# dd if=/dev/zero of=/ztest/100gb bs=1m count=100k
102400+0 records in
102400+0 records out
107374182400 bytes transferred in 170.845743 secs (628486146 bytes/sec)
Rebooted to get cold read and run read test:
dd if=/ztest/100gb of=/dev/null bs=1m
102400+0 records in
102400+0 records out
107374182400 bytes transferred in 168.924032 secs (635635919 bytes/sec)
It is still not perfect, because only 4 disks are used in read
iostat -x 5:
device r/s w/s kr/s kw/s ms/r ms/w ms/o ms/t qlen %b
ada1 0 0 0.0 0.0 0 0 0 0 0 0
ada2 1229 0 157362.7 0.0 1 0 0 1 0 44
ada3 1231 0 157373.1 0.0 0 0 0 0 0 38
ada4 1229 0 157337.1 0.0 4 0 0 4 5 98
ada5 1231 0 157372.3 0.0 1 0 0 1 0 45
ada6 0 0 0.8 0.0 27 0 0 27 0 1
ada1 and ada6 are idle, while it is possible to read some data from it.
But this is MUCH MUCH better, than on 11-STABLE and 12-CURRENT
--
Alex Tutubalin
Web: http://blog.lexa.ru
mailto:lexa at lexa.ru
More information about the freebsd-fs
mailing list