I’ve been working with Linux for 20 years, and dd has always been that dangerous tool that makes me nervous to use. While trying to burn a series of SD cards through a USB adapter, I decided to performance test various Block Size (BS) settings, and figured I’d share the results.

The following transfer rates were the result of copying the RancherOS from my local SSD to a microcenter XC 64GB SD card using a USB adapter.

Block SizeImage SizeImage NameTransfer Rate
2.0K2.1Gbuild/rancheros-raspberry-pi64.img11.1 MB/s
4.0K2.1Gbuild/rancheros-raspberry-pi64.img11.4 MB/s
8.0K2.1Gbuild/rancheros-raspberry-pi64.img11.5 MB/s
16K2.1Gbuild/rancheros-raspberry-pi64.img11.5 MB/s
32K2.1Gbuild/rancheros-raspberry-pi64.img10.3 MB/s
64K2.1Gbuild/rancheros-raspberry-pi64.img11.2 MB/s
128K2.1Gbuild/rancheros-raspberry-pi64.img10.5 MB/s
256K2.1Gbuild/rancheros-raspberry-pi64.img10.6 MB/s
512K2.1Gbuild/rancheros-raspberry-pi64.img12.0 MB/s
1.0M2.1Gbuild/rancheros-raspberry-pi64.img9.8 MB/s
2.0M2.1Gbuild/rancheros-raspberry-pi64.img11.5 MB/s
4.0M2.1Gbuild/rancheros-raspberry-pi64.img11.1 MB/s
8.0M2.1Gbuild/rancheros-raspberry-pi64.img11.0 MB/s
16M2.1Gbuild/rancheros-raspberry-pi64.img11.0 MB/s
32M2.1Gbuild/rancheros-raspberry-pi64.img11.0 MB/s
64M2.1Gbuild/rancheros-raspberry-pi64.img11.0 MB/s

As you can see, at that size with this configuration, it really doens’t matter much.