Difference between revisions of "SD Card Performance Benchmarking"

From apertus wiki
Jump to: navigation, search
Line 22: Line 22:
=Benchmark Read Speed=
=Benchmark Read Speed=
   
   
read speed:
dd if=/dev/sdXX bs=128k iflag=direct count=xxx status=progress | md5sum
dd if=/dev/sdXX bs=128k iflag=direct count=xxx status=progress | md5sum
this will give a read performance and calculate a checksum
this will give a read performance and calculate a checksum
the checksum can then be verified with:
the checksum can then be verified with:
./prng sd001.seed | dd bs=128k count=xxx | md5sum
./prng sd001.seed | dd bs=128k count=xxx | md5sum
if the checksums do not match, the sd card is not keeping the data written
if the checksums do not match, the sd card is not keeping the data written

Revision as of 16:00, 13 February 2021

1 Preparations

get this http://vserver.13thfloor.at/Stuff/prng.c and build it with "-O3"

copy 16 bytes from /dev/random into a file e.g. sd001.seed:

dd  if=/dev/random of=sd.001.seedbs=16byte count=1

2 Benchmark Write Speed

run

./prng sd001.seed | dd of=/dev/sdXX bs=128k iflag=fullblock oflag=direct status=progress

where /dev/sdXX is the device for the SD card

this should run for a while an write pseudo random data to the sd card


any errors there are a general problem except for when the sd card is full

once you know the number of blocks for the specific sd card

you want to add count=xxx to avoid overrun

3 Benchmark Read Speed

dd if=/dev/sdXX bs=128k iflag=direct count=xxx status=progress | md5sum

this will give a read performance and calculate a checksum

the checksum can then be verified with:

./prng sd001.seed | dd bs=128k count=xxx | md5sum

if the checksums do not match, the sd card is not keeping the data written