Raspberry Pi でストレージのベンチマーク

Raspberry Pi は標準で MicroSD カードをブート・ルートボリュームに使う。MicroSD ってどれくらいの速度性能があるのか、気になったので、簡単に計測してみたので、メモ。

測定環境・デバイス

MicroSD、カードリーダは家電量販店で一番安いやつを買っています。HDD は家にたまたまあったお古を使っています。

MicroSD から起動して、自身のルートボリュームを読み書き

Raspberry Pi ボードに組み込まれている MicroSD ポートを使っています。

$ dd if=/dev/zero of=/tmp/dd.tmp ibs=1M obs=1M count=1024 status=progress
1050673152 bytes (1.1 GB, 1002 MiB) copied, 107.031 s, 9.8 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 112.657 s, 9.5 MB/s

やっぱ、安いやつだと遅いのでしょうか。フラッシュメモリならもう少し出るかと思っていましたが...

同型の MicroSD を USB 接続

$ dd if=/dev/zero of=/mnt/sdcard/tmp/dd.tmp ibs=1M obs=1M count=1024 status=progress
1072693248 bytes (1.1 GB, 1023 MiB) copied, 138.028 s, 7.8 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 138.108 s, 7.8 MB/s

2 MB/s ほど、速度が落ちました。カードリーダ + USB のオーバーヘッドですかね。

USB 接続した HDD

$ dd if=/dev/zero of=/mnt/hdd/tmp/dd.tmp ibs=1M obs=1M count=1024 status=progress
1067450368 bytes (1.1 GB, 1018 MiB) copied, 30.021 s, 35.6 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 30.2309 s, 35.5 MB/s

HDD、速いな!MicroSD ポートの 3.5 倍超ですね。こんなに速いとは意外です。

USB 接続した HDD から起動して、自身のルートボリュームを読み書き

Pi 3 から使えるようになった USB ブートで HDD からブートして、自分自身のルートボリュームの読み書き速度を測ってみます。

$ dd if=/dev/zero of=/tmp/dd.tmp ibs=1M obs=1M count=1024 status=progress
1039138816 bytes (1.0 GB, 991 MiB) copied, 31.0132 s, 33.5 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 31.7067 s, 33.9 MB/s

ちょっと下がったような気もしますが、誤差の範囲でしょう。

案外、HDD が速くて意外です。

※ 高い MicroSD とか SSD になると速度が違うのだと思いますが、そもそも持っていないので、測れない。