===== Links ===== * microsd-cards [[https://www.jeffgeerling.com/blog/2018/raspberry-pi-microsd-card-performance-comparison-2018|comparison 2018]] [[https://www.jeffgeerling.com/blog/2019/raspberry-pi-microsd-card-performance-comparison-2019|comparison 2019]] ===== Preparations ===== dnf -y install hdparm wget https://www.iozone.org/src/current/iozone3_489.tar tar xvf iozone3_489.tar cd iozone3_489/src/current make -j5 linux-arm ./iozone -e -I -a -s 100M \ -r 4k -r 16k -r 512k -r 1024k -r 16384k \ -i 0 -i 1 -i 2 ===== Cards ===== * **size/serial:** * %%udevadm info -a -n /dev/mmcblk0|egrep '{size}|serial|date|name'%% * To find out size, and serial for identification * **read seq:** * %%dd if=/dev/mmcblk0 of=/dev/zero bs=1M count=512%% * To measure sequential read speed * Similiar to %%hdparm -t /dev/mmcblk0%% * **rreads/rwrites:** * %%iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 16384k -i 0 -i 1 -i 2%% * random read/writes, 4kbyte chunks and 512byte chunks ^ ^Thinkpad ^ ^ ^Raspi4 ^ ^ ^ ^size/serial ^read seq ^rreads ^rwrites ^read seq ^rreads ^rwrites^ ^ ^ ^4/16/512kb^4/16/512kb ^ ^4/16/512kb^4/16/512kb^ |16G/0x47181309 fed32 Toshiba|23MB/sec |5/10/22 |0.4/0.1/1.4|22MB/sec |6/??/22 |0.4/??/10 | |16G/0x000001ed raspb LAZOS|45MB/sec |5/16/73 |1/3/23 |41MB/sec |5/15/38 |0.7/3/20 | |32G/0x00000015 mp3 LAZOS|75MB/sec | | | | | | |32G/0x28ca8ad8 nx32 Toshiba|82MB/sec |11/23/73 |4/11/17 | | | | |32G/0x7cc4f718 fed32 ELECOM|87MB/sec |8/16/72 |3/11/17 |43MB/sec |8/18/40 |4/11/17 | |32G/070003F3E21C4C65 ELECOM |117MB/sec|7/23/104 |0.2/0.9/2.6|117MB/sec| | | ===== Cards details ===== * 16G/0x47181309, Fedora32 for Raspi4, Toshiba * 16G/0x000001ed LAZOS, Raspbian * 32G/0x00000015 LAZOS, mp3s * 32G/0x28ca8ad8 Toshiba, 02/2018, Nintendo switch L4t/Fedora32 * 32G/0x7cc4f718 ELECOM MF-BMSD-032, 01/2020, 2000円 * 32G/070003F3E21C4C65 ELECOM (USBstick), 2000, 2170円 ===== Conclusions ===== * USB3 flash is connected with >100MB/sec, and sdcards limited to ~40MB/sec on the Raspi4. * USB3 flash sticks can be as slow as sdcards for random access. * Profiling typical OS operations, I see many 4kb and 8kb accesses, cards are quite bad at that, they are optimized for sequential access. * Cards can be profiled with one reader, and have a comparable profile on other readers. Capping bandwidth wise applies of course, the reader itself can be the bottleneck.