Raspberry Pi 4Bを使っていて、久しぶりにmSDを使っていたら相当に遅く感じるのでhddparmコマンドで簡易的に速度を調べてみました。
まずは、hdparmコマンドをインストールします。
$ sudo apt install -y hdparm
速度を調べるために -t オプションを使用します。このオプションは、ベンチマークに使用されるものですが、少なくとも2、3回繰り返す必要があると記載されていますので、5回繰り返して最低値と最高値を省いた3回分の計測値の平均を取ります。
$ for i in $(seq 5); do sudo hdparm -t /dev/<デバイス名>; sleep 5; done
-t オプションの計測値は、OS のファイルシステムのオーバーヘッドなしにドライブのシーケンシャル読み取り速度を測定するものとされていて、処理中にバッファーキャッシュはフラッシュされるとなっています。
1 mSD 64GB の場合
Sandisk MicroSDXC 64GB A1対応となっているものです。
平均値: 42.75MB/sec
2 Buffalo の 2TB HDDの場合
hddparm -I すると Model Number:ST2000DM001-1CH164 と表示されています。1GBのキャッシュを内蔵したモデルです。
平均値: 200.21MB/sec
3 SSD 250GBの場合
hddparm -I すると Model Number:Samsung SSD 860 EVO 250GBと表示されています。
平均値: 157.61MB/sec
4 SSD 500GBの場合
htparm -I すると Model Number:Samsung SSD 860 EVO 500GBと表示されています。
平均値: 327.55MB/sec
5 SSD 480GBの場合
hdparm -I すると Model Number:Buffalo SI-C2258XT01MSと表示されています。
平均値: 329.16MB/sec
同じSSDを使った、もう一台の場合の方が高速でした。
平均値: 379.79MB/sec
6 まとめ
普段は、Raspberry Pi 4Bを 5 の SSD 480GBからブートして使っていますから、mSDよりも10倍近く高速になっています。そのため、久しぶりにmSDで使って見ると体感できるくらいに遅く感じていたようでした。
Buffalo の内蔵キャッシュで高速化しているHDDの場合、キャッシュが効いてしまっているせいか速すぎる感じがしています。また、250GB の Samsung SSD 860 EVOは、こんなに遅かったんだろうかという感触でした。(その後、250GB だけがリンクスピード3Gbpsになっていることがわかりました。ケースかケーブルに問題がありそうです)