Raspberry Pi でストレージのベンチマーク
Raspberry Pi は標準で MicroSD カードをブート・ルートボリュームに使う。MicroSD ってどれくらいの速度性能があるのか、気になったので、簡単に計測してみたので、メモ。
測定環境・デバイス:
- Raspberry Pi 3 Model B (Element14)
- MicroSD: 三菱ケミカルメディア Verbatim microSDHCカード 16GB Class4
- SD card reader: Elecom MR-A39NBK
- HDD: SEAGATE ST3500320AS 500GB SATA300 7200rpm
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 が速くて意外です。