Difference between revisions of "SD Card Performance Benchmarking"

From apertus wiki
Jump to: navigation, search
Line 1: Line 1:
=Preparations=
=Preparations=
get this http://vserver.13thfloor.at/Stuff/prng.c and build it with "-O3"
get this http://vserver.13thfloor.at/Stuff/prng.c and build it with "-O3":
gcc prng.c -o prng -O3


copy 16 bytes from /dev/random into a file e.g. sd001.seed:
copy 16 bytes from /dev/random into a file e.g. sd001.seed:
  dd  if=/dev/random of=sd.001.seedbs=16byte count=1
  dd  if=/dev/random of=sd.001.seed bs=16byte count=1


=Benchmark Write Speed=
=Benchmark Write Speed=

Revision as of 17:48, 13 February 2021

1 Preparations

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

gcc prng.c -o prng -O3

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

dd  if=/dev/random of=sd.001.seed bs=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