Just my case as an example of USB 3.0 HUB slowing down when more than one device connected to it.
I have two identical sets of: SataIII to USB3.1 Gen2 Type C Enclosure with a 480GB SSD.
If i put the SSD in a SataIII port, Linux dd command reads at more than 500MiB/s.
If i put the SSD in the SataIII to USB 3.1 Gen2 Type C enclosure, Linux dd command reads at near than 413MiB/s, no matter wich one of the two sets i use.
The weird thing comes when i plug onto the USB 3.0 both enclosures and i ask linux to read from both (no matter if LVM stripe, RAID0 or two concurrent dd commands), it only reads at 2x150=300 MiB/s.
So when both are plugged, i loose near 413-300=113MiB/s of speed.
In other words:
- One SSD onto USB 3 HUB, i get 413MiB/s read
- Two SSD onto USB 3 HUB, i get 150+150=300MiB/s read
- Spected read (per SSD) when two SSD onto USB 3 hub would be as less as near 413/2=206MiB/s but they are only arround 150MiB/s each, not >200MiB/s as would be supposed.
I start to think the problem is onto the USB 3 Hub protocol to alternate data bandwith to both drives, it adds a huge overhead.
So i can confirm the USB 3 hub i have on my hands slows down one SSD much more than max bandwith, when more than one is connected at the same time.
Also more, i tested with one SSD and a very slow (less than 50MiB/s) USB 3.0 stick, the USB Hub 3 combined read speed goes down to 263MiB/s, so i can confirm combined read loose is arround 100MiB/s if i plug any other USB storage device.
And more, and also worst, i plug a Mouse (or a keyboard), and SSD read speed is also near 313MiB/s, i unplug the mouse/keyboard and SSD read speed goes back to 413MiB/s, so again near 100MiB/s read speed lost just because a mouse is connected (and being used); if i do not move the mouse read speed goes back to 413MiB/s.
So the HUB is causing a massive read speed drop down (near 100MiB/s) on the combined transfer rate when not only one device is connected to it (and being used), no matter what other kind of device i connect, as soon as it has more than just one working at the same time, i get a combined read speed near 100MiB/s lower than when using just only one device at the smae time.
I had also tested with three devices: SSD + Mouse + Keyboard, i still loose quite near the same speed, about 100MiB/s.
If i read from only one SSD, but have both connected, i also get near 413MiB/s.
USB 3.0 Hub price was arround 20€, not a cheap one.
Conclusion: USB HUB 3.0 make a loose of lot of MiB/s transfer speed when more than one device is connected (and transfering) at the same time, who knows why! maybe because it divides the time transfer by the number of devices (quite worng) or maybe because it has a huge overhead on cycling devices, etc.
Hope this helps someone identifing the problem, all tests were done under Linux Live SystemRescueCD (last version) with dd command with status=progress, block size of one megabyte and count equal to one thousand (reading a total of 1GiB), dest device /dev/null.
I am planning (when/if i will be rich) on buying another USB 3.x HUB, this time a 3.1 Gen 2 to check if happens the same or is that brand that has a poor firmware algorithms.
+1 for ASIO4ALL. used it to kill my lag in Rocksmith. wonder doest the rocksmith community know about this! – camelbrush – 2014-11-06T03:28:52.013
Are you sure a USB audio controller will suffer a throughput bottleneck if it doesn't have an entire USB controller to itself? I think they should be designed to work on hubs, at least for 2 channel audio. – jiggunjer – 2016-02-11T05:15:06.130