Abysmally slow gvinum RAID5 on three drives

Michael Osipov 1983-01-06 at gmx.net
Wed Oct 5 18:28:03 UTC 2016


Hi folks,

I have created a RAID5 wie gvinum on three 200 GB IDE disks while the 
formatted disks do sequentially 20 to 50 MB/s, in RAID5 mode they to no 
more than 100 kB/s -- yet that is kilobytes!

I am on:
# uname -a
FreeBSD bsd1home 10.3-RELEASE-p7 FreeBSD 10.3-RELEASE-p7 #0: Thu Aug 11 
18:37:29 UTC 2016 
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

The following CPU is used:
# grep -i cpu /var/run/dmesg.boot
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2405.51-MHz 686-class CPU)
cpu0: <ACPI CPU> on acpi0

RAM: 2 GiB, swap: 2,5 GiB

Chipset and controller:
hostb0 at pci0:0:0:0:      class=0x060000 card=0x80b21043 chip=0x25608086 
rev=0x03 hdr=0x00
     vendor     = 'Intel Corporation'
     device     = '82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub 
Interface'
     class      = bridge
     subclass   = HOST-PCI


atapci0 at pci0:2:13:0:    class=0x018000 card=0x00051103 chip=0x00041103 
rev=0x03 hdr=0x00
     vendor     = 'HighPoint Technologies, Inc.'
     device     = 'HPT366/368/370/370A/372/372N'
     class      = mass storage

My hard disks (system is on a separate disk and controller):
# camcontrol devlist | grep WDC
<WDC WD2000JB-00GVA0 08.02D08>     at scbus0 target 0 lun 0 (ada0,pass0)
<WDC WD2000JB-00FUA0 15.05R15>     at scbus0 target 1 lun 0 (ada1,pass1)
<WDC WD2000JB-00EVA0 15.05R15>     at scbus1 target 0 lun 0 (ada2,pass2)

I have tested on the raw vinum device and on one with UFS:

# gvinum raid5 -n data ada0 ada1 ada2
# gvinum start data
# dd if=/dev/zero bs=1M count=10240 | pv -s 10G -treab --progress > 
/dev/gvinum/data
2260+0 records out
2369781760 bytes transferred in 252.553715 secs (9383278 bytes/sec)

# newfs -j /dev/gvinum/data
/dev/gvinum/data: 381564.0MB (781443072 sectors) block size 32768, 
fragment size 4096
         using 610 cylinder groups of 626.22MB, 20039 blks, 80256 inodes.
         with soft updates
...
Using inode 4 in cg 0 for 33554432 byte journal
newfs: soft updates journaling set
# mount /dev/gvinum/data /mnt
# dd if=/dev/zero bs=1M count=10240 | pv -s 10G -treab --progress > 
/mnt/file.bin
4+0 records out
4194304 bytes transferred in 75.191040 secs (55782 bytes/sec)
4.75MiB 0:01:20 [48.7KiB/s] [60.2KiB/s] [>                        ]  0% 
ETA 1:23:53:0

Any idea what the problem is? How can I investigate on the penality in 
performance?

Other geom classes like concat, stripe, raid3 perform very well.

Thanks,

Michael


More information about the freebsd-geom mailing list