Difference between revisions of "SD Card Performance Benchmarking"
From apertus wiki
Line 22: | Line 22: | ||
=Benchmark Read Speed= | =Benchmark 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