Insert two SD cards rated for 300 MB/s. Run ATTO Disk Benchmark.app on each separately. Then redo the test with both selected. ATTO Disk Benchmark.app is the only benchmark I know that can test multiple disks at the same time without having to create a RAID 0.
The expectation (guessing) is that it should allow ≈300 MB/s for each ≈460 MB/s for both simultaneously (because of USB 3.0 limit of SD adapter in the SOHO).
Then we need a benchmark of the Prograde to see how much better it is. Can it actually do ≈600 MB/s?
I'm not sure how to test bidirectional transfer speed. The expectation would be that you can read to one disk at 300 MB/s and write to the other at 300 MB/s. Maybe use the
time
command with the
cp
or
dd
command with a large block size to copy a large file from a fast NVMe drive or /dev/zero or /dev/random. Use two terminal windows, one for each disk. Do a read to one and a write to the other at the same time. Actually I think they can be done in the same terminal window using the & flag at the end of the command (creates a sub-process). Also,
dd
will time itself so it doesn't need the time command. I tried the following:
Code:
# test write speed
[[ -f /Volumes/Datas/zero1 ]] && rm /Volumes/Datas/zero1
dd if=/dev/zero of=/Volumes/Datas/zero1 bs=10m count=1000
# do something to clear disk cache (this doesn't always work?)
diskutil unmount Datas
diskutil mount Datas
# test read speed
dd if=/Volumes/Datas/zero1 of=/dev/null bs=10m count=1000
# do something to clear disk cache (this doesn't always work?)
diskutil unmount Datas
diskutil mount Datas
# test simultaneous read/write speed
time (
echo start
( echo startwrite ; for (( i=0 ; i < 10 ; i++ )) ; do printf "write $i $(date) " ; dd if=/dev/zero of=/Volumes/Datas/zero3 bs=10m iseek=$i oseek=$i count=100 2>&1 | sed -E '/ records /d' ; done ; echo donewrite ) > /tmp/writetest.txt &
( echo startread ; for (( i=0 ; i < 10 ; i++ )) ; do printf " read $i $(date) " ; dd if=/Volumes/Datas/zero1 of=/dev/null bs=10m iseek=$i oseek=$i count=100 2>&1 | sed -E '/ records /d' ; done ; echo doneread ) > /tmp/readtest.txt &
wait
echo done
)
cat /tmp/writetest.txt
cat /tmp/readtest.txt
but I was getting ridiculous read speed of 1.4 GB/s (using a USB 3.0 disk) so there must be some disk cache in memory that is being used? Write speed using dd is reasonable (400 MB/s) though.
Date is included for simultaneous read/write output so you can exclude the info for when one of the loops stops early.
What is the typical file size for these SD cards? The file size will affect the efficiency of the transfers. In the tests above and normal disk benchmarks, only one large file gets tested.