In the previous post, I had a look at the different speed classes of NVMe to USB adapters available on the market in 2024. I have a number of 10 Gbit/s adapters, but I’d be quite tempted to get one of the higher speed classes (20 or 40 Gbit/s) for particular applications, even though the price difference is quite significant. But it turned out that cp and rsync, which I often use to duplicate large file systems, can’t take advantage of faster adapters.
Let’s go to the high speed first. Back in 2021 I noted that with a Samsung 970 Evo Plus, that theoretically supports data transfer rates of 3 GB/s, I could only get a write speed of 1 GB/s from a RAM disk with a single cp command and 1.6 GB/s from a RAM disk when transferring 5 files simultaneously. Fast forward to 2024 and a newer notebook, and the single cp data write rate, this time from memory, is 1.6 GB/s for 16 GB of data to the Samsung Samsung 970 Evo Plus. So definitely an improvement, but still far away from the theoretical 3 GB/s sustained write rate of the NVMe SSD. So far so good, but this is writing only and only to the notebook’s internal NVMe.
So let’s go to my actual real world scenario, rsync from an NVMe SSD in a NVMe to USB adapter to an internal NVMe. On the hardware side, I’ve used the 10 Gbit/s NVMe to USB adapter and a notebook with a USB4 / Thunderbolt 4 interface to make sure the notebook is not the bottleneck. Theoretical maximum speed is limited by the USB adapter to 1 GB/s. But rsync takes its toll and large files are ‘only’ transferred with a speed of 700 MB/s. On the file systems I sometimes duplicate, the majority of files are relatively small, so there is more processing overhead. As a result, the average copy rate of 1.2 TB of data is just around 500 MB/s.
So long story short: With the software and hardware today, for single stream rsync file transfers I couldn’t even reach the 1GB/s supported by the cheapest NVMe to USB adapters. So for the moment, there’s little point in buying a higher speed adapter. Let’s revisit the topic again in a few years.