tips_and_howtos:usb_transfer_rates

I have two USB stick drives

  • Kingston Datatraveler 8GB: a compact keychain drive with USB2 support
  • Kingston Datatraveler Elite G2 64GB: almost-keychain sized drive with USB3 support showing good numbers in advertisements

With this test I wanted to compare their performance as well as find out the optimal block size of dd transfer from SSD hard drive to USB.

It turns out that the block size makes a huge difference.

I tested block sizes from 512 to 64M starting with default dd block size which seems to be 512.

I used a 80MB iso image, direct writing without cache using command

dd iflag=direct if=<infile> of=</dev/usbdevice> bs=<block size>

and dropped cache between tests using following command:

echo 3 > /proc/sys/vm/drop_caches

Block size and resulting transfer speeds are:

default block size : 3.0 MB/s
512 : 3.9 MB/s
1024 : 3.8 MB/s
2048 : 4.2 MB/s
4096 : 12.3 MB/s
8192 : 14.5 MB/s
16384 : 14.5 MB/s
32768 : 15.4 MB/s
65536 : 16.9 MB/s
131072 : 17.0 MB/s
262144 : 16.9 MB/s
524288 : 17.0 MB/s
1048576 : 17.0 MB/s
2097152 : 15.7 MB/s
4194304 : 17.0 MB/s
8388608 : 17.0 MB/s
16777216 : 17.1 MB/s
33554432 : 17.0 MB/s
67108864 : 17.1 MB/s

Block size and resulting transfer speeds are:

default block size : 5.9 MB/s
512 : 5.1 MB/s
1024 : 12.2 MB/s
2048 : 95.3 MB/s
4096 : 164 MB/s
8192 : 234 MB/s
16384 : 312 MB/s
32768 : 362 MB/s
65536 : 414 MB/s
131072 : 435 MB/s
262144 : 444 MB/s
524288 : 453 MB/s
1048576 : 456 MB/s
2097152 : 247 MB/s
4194304 : 18.7 MB/s
8388608 : 222 MB/s
16777216 : 122 MB/s
33554432 : 27.4 MB/s
67108864 : 237 MB/s

Block size can have a huge impact on the transfer speeds. But larger files may be needed for consistent results.

Kingston Datatraveler Elite G2 does live up to the numbers and it can reach up to ten fold speeds of the USB2 older and smaller drive.

All comments and corrections are welcome.

  • tips_and_howtos/usb_transfer_rates.txt
  • Last modified: 2021/10/24 13:51
  • (external edit)