sda.io

Mike Sampson

Linux Systems Administrator

About

Archives

Feed

05 Sep 2010

USB 3.0

I'm currently in the process of encrypting my USB 1TB backup drives with LUKS. Part of this process involves filling the disk with random data. For USB2 this takes about 10 hours for a 1TB drive. Admittedly this is a one off process though I often move large chunks of data around for one reason or another. I decided to have a look at USB3. I picked up a Western Digital My Book 3.0 along with a Gigabit PCI-e 1x USB 3 card. I had a little difficulty getting Linux to recognize the drive and found I had to reload the xhci kernel module:

# sudo rmmod xhci_hcd
# sudo modprobe xhci_hcd

Not sure if this issue was a one off or not. I may need to look at this later. Perhaps this module needs to be loaded before/after some of the other USB related modules? Once it was detected I reformatted it with XFS and ran the bonnie++ benchmark on it:

Version 1.03e       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
mercury         12G 88824  99 100197  31 43076  18 55770  94 137263  23 273.3   1
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  7882  67 +++++ +++  5057  45  7693  69 +++++ +++  5516  50

Performance was impressive. Looking at block transfers showed writes just below 100MiB/s and reads above 130MiB/s. I didn't test a USB2 drive as I know from experience it would be no where near that speed. I did test my internal storage which is XFS on LVM on RAID10 (4 x 250GB SATA):

Version 1.03e       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
mercury         12G 89567  97 115355  38 58405  32 65973  88 123363  33 536.0   3
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   188   2 +++++ +++   185   2   189   2 +++++ +++   173   2

My internal storage performed slightly better than the USB3 drive though it couldn't match the 130MiB/s block read speed. I'm not sure why there was such a difference with the metadata tests. The USB3 device was an order of magnitude faster. It may have been connected with the fact that the USB3 test was a new file system and the internal XFS file system has been in use for quite a while. Not sure though.

Bottom line is that next time I need to transfer my main workstation's file systems to external storage for hardware maintenance it will be a lot faster!

Copyright © 2018 - Mike Sampson - Powered by cobalt.rs & Skeleton