-1

My PC has 24GB DDR3 RAM, i7-4770 (8 cores) and a number of USB3 ports. That local system RAID0 (md) has been showing good performances so far, 900 - 1000 MBps with

dd if=/dev/zero of=./testdata bs=1024 count=1048576

All filesystems are XFS (I am an aficionado of XFS since the early days). When copying a large file (5+GB) from a single USB3 disk "TOSHIBA External USB 3.0 0101" I hardly keep 110MiBps, the average stays on 60 to 80 MiBps (as reported by KDE status notification).

What throughput should I expect? I was wishing for something in the range of 100-200 MiBps. What I have not been able (my fault) to understand is whether this is due to:

  1. filesystem I chose,
  2. USB I/O performance
  3. kernel settings
  4. something else

Is there anything I can check/modify?

My lspci -v says (just for the USB stuff):

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04) (prog-if 30 [XHCI])
        Subsystem: Hewlett-Packard Company Device 18eb
        Flags: bus master, medium devsel, latency 0, IRQ 26
        Memory at f7f00000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: <access denied>
        Kernel driver in use: xhci_hcd

00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04) (prog-if 20 [EHCI])
        Subsystem: Hewlett-Packard Company Device 18eb
        Flags: bus master, medium devsel, latency 0, IRQ 16
        Memory at f7f18000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: <access denied>
        Kernel driver in use: ehci-pci

00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04) (prog-if 20 [EHCI])
        Subsystem: Hewlett-Packard Company Device 18eb
        Flags: bus master, medium devsel, latency 0, IRQ 23
        Memory at f7f17000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: <access denied>
        Kernel driver in use: ehci-pci

The "plain" USB3 read performances are about 100 MBps:

~ dd if=/dev/sdg1 of=/dev/null bs=4096 count=1048576
1048576+0 records in
1048576+0 records out
4294967296 bytes (4,3 GB) copied, 42,5934 s, 101 MB/s

While a Kingston Data Traveler USB flash shows lower throughput:

~ dd if=/dev/sde1 of=/dev/null bs=4096 count=1048576
1048576+0 records in
1048576+0 records out
4294967296 bytes (4,3 GB) copied, 63,324 s, 67,8 MB/s

So I would exclude the specific type of file system in use and focus on something else. Right?

7
  • You're using MBps and also MiBps. One is Mega 10^6 the other Mebi 2^20. Apart from that, do you mean mega-byte or -bit? Conventionally megabit per second would be Mbps with a lower-case b while you are using an upper-case B. Makes me think you maybe meant Megabyte...?
    – Nephente
    Oct 21, 2015 at 8:47
  • Question: the cable is USB 3 too?
    – Rinzwind
    Oct 21, 2015 at 8:54
  • @Nephente That's what's being reported: dd reports MBps, KDE notification talks MiBps. Capital-b (B) is byte.
    – EnzoR
    Oct 21, 2015 at 9:30
  • @Rinzwind Yes, it's all USB3 "certified".
    – EnzoR
    Oct 21, 2015 at 9:31
  • Are we talking external HDD or SSD here?
    – Nephente
    Oct 21, 2015 at 11:00

1 Answer 1

2

You're looking in the wrong place. If the Toshiba is rotational media then it is the bottleneck. Also transferring zeros is an unrealistic benchmark and you didn't say how the RAID set that you compare it to is configured.

If you test several individual rotational disks with actual data and workloads (dd is not an appropriate benchmarking tool just because it can display statistics) you will find that 60-80 MB/s is typical performance for some slower disks built into external drives. You may also find these more realistic numbers in the data sheets if you know the exact model name and where to look.


On second thought regular USB 3.0 enclosures (BOT) can limit transfer speeds and especially performance SSDs should be put into UASP enclosures. I have experience with a 2-bay enclosure that achieves decent performance (100-150 MB/s total) and an 8-bay enclosure with 6 disks achieving poor performance (60-80 MB/s total, but read speed can be higher), both are non-UASP and mounting the sets internally improves performance (2-disks only slightly, 6-disks significantly). One could fiddle with max_sectors in sysfs to optimize performance, but that could damage the filesystem and probably more with only negligible performance improvement. You will usually find non-UASP enclosures being a sufficient default for rotational media, if you want something else you better build your own.

2
  • The dd command was to show the RAID0 write performances. Of course it's close to the theoretical maximum. RAID0 is striping and is done with Linux md.
    – EnzoR
    Oct 21, 2015 at 12:58
  • So, if I understand correctly, there's not much throughput I can expect. Right?
    – EnzoR
    Oct 21, 2015 at 13:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .