家に転がってたラズパイ3B+とフラッシュUSBを使ってメディアNASサーバ(Nextcloud)を作ってみたら思ったより遅くて、結局ラズパイ4+SSD起動で作り直したんですが、体感で3倍くらいの速度差があったので、折角なのでsysbenchで数値を測ってみた結果を共有します。
環境
- ハードA) Raspberry Pi 3B+
- ハードB) Raspberry Pi 4(8GB)
- ドライブ1) SanDisk microSDXC SDSQUA4-128G-GN6MN (A1対応 Class10 U1)
- ドライブ2) SanDisk USBメモリ SDCZ430-256G (USB3.1)
- ドライブ3) Crucial SSD CT1000NX500SSD1 (SATA3)
- Ubuntu Server 21.04 ※共通
- sysbench 1.0.20 ※共通
組み合わせ
- ハードA(R3) + ドライブ1(SDカード), ドライブ2(USBメモリ)
- ハードB(R4) + ドライブ3(SSD)
コマンド
sudo sysbench --file-test-mode=rndrw --test=fileio run
sysbench結果
※結果は5回試行の平均値
R3+SDカード | R3+USBメモリ | R4+SSD | ||
---|---|---|---|---|
File operations: | reads/s: | 287.07 | 196.99 | 946.344 |
writes/s: | 191.374 | 131.338 | 630.888 | |
fsyncs/s: | 617.884 | 428.58 | 2023.55 | |
Throughput: | read, MiB/s: | 4.486 | 3.076 | 14.788 |
written, MiB/s: | 2.99 | 2.052 | 9.856 | |
General statistics: | total time(s): | 10.06618 | 10.0765 | 10.04978 |
total number of events: | 10918 | 7506.6 | 36088.2 | |
Latency (ms): | min: | 0.01 | 0.012 | 0.02 |
avg: | 0.918 | 1.38 | 0.28 | |
max: | 61.01 | 191.774 | 11.022 | |
95th percentile: | 2.528 | 7.57 | 0.92 | |
sum: | 9971.102 | 9976.134 | 9951.17 |
体感と同様に数値で見てもやはり3倍強程度の差がありました。そしてLatencyを見るとSSDの方がめちゃくちゃ安定してますね。コレはメモリ8GBの恩恵もあるような気がしてます。
余談
ラズパイ3B+でNextCloud動かした時は、SDカード上でMySQLを動かして、データストレージをUSBという構成で動かしてたんですが、画像アップロード中はLoadAverageが平均3〜5で、メモリもパツパツでフル回転な感じで、いつ死ぬかかなり不安だったので、精神の安定的な意味でもR4+SSD直起動(電源付きUSBハブ経由)構成にしたのは悪くない選択かなと。
ちなみにこんな感じ。
ケーブルとかハブとか繋ぎ方にこだわるとSSDはもう少し速度上がったりするのかもしれません。
誰か様の「俺の環境だともっと速いぜ!」みたいな情報お待ちしてます。