おうちDCの中でMongoDBをインストールする前に、ノードの1つをNFSにすることにしました。
当然、READ,WRITEが速いほうが良いので、各ノードのディスクIOスピードをチェックしてみました。
それぞれ1回ずつしか実行していないので、正確なものではありませんが、おおよその目処はつきました。
注意
以下のコマンドを実行すると、testfile という大きなファイルが作られますので、テスト完了後削除してください。
簡易版
書き込みテスト
$ dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
読み込みテスト
$ dd if=testfile of=/dev/null bs=1G count=1 iflag=direct
テスト結果
Raspberry Pi 3 B+ (Mem: 1G, SDカード)
※1Gではエラーがでたので、300Gでテスト
WRITE: 314572800 bytes (315 MB, 300 MiB) copied, 18.3918 s, 17.1 MB/s
READ : 314572800 bytes (315 MB, 300 MiB) copied, 13.3913 s, 23.5 MB/s
Raspberry Pi 4 (Mem: 8G, SDカード)
WRITE: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 35.6726 s, 30.1 MB/s
READ : 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.5791 s, 45.5 MB/s
Raspberry Pi 5 (Mem: 8G, SSD) - 1台目
WRITE: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.65498 s, 294 MB/s
READ : 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.59828 s, 413 MB/s
Raspberry Pi 5 (Mem: 8G, SSD) - 2台目
WRITE: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.79818 s, 283 MB/s
READ : 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.26597 s, 474 MB/s
Jetson Orin Nano NX 16G (Mem: 16G, SSD)
WRITE: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.666643 s, 1.6 GB/s
READ : 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.477435 s, 2.2 GB/s
詳細版
インストール
$ sudo apt install fio -y
書き込みテスト
$ fio --name=write_test --size=1G --filename=testfile --bs=1M --nrfiles=1 --direct=1 --rw=write --iodepth=1
読み込みテスト
$ fio --name=read_test --size=1G --filename=testfile --bs=1M --nrfiles=1 --direct=1 --rw=read --iodepth=1
テスト結果
Raspberry Pi 3 B+ (Mem: 1G, SDカード)
WRITE: bw=17.8MiB/s (18.6MB/s), 17.8MiB/s-17.8MiB/s (18.6MB/s-18.6MB/s), io=1024MiB (1074MB), run=57629-57629msec
READ : bw=21.6MiB/s (22.6MB/s), 21.6MiB/s-21.6MiB/s (22.6MB/s-22.6MB/s), io=1024MiB (1074MB), run=47489-47489msec
Raspberry Pi 4 (Mem: 8G, SDカード)
WRITE: bw=16.0MiB/s (16.8MB/s), 16.0MiB/s-16.0MiB/s (16.8MB/s-16.8MB/s), io=1024MiB (1074MB), run=63985-63985msec
READ : bw=21.3MiB/s (22.3MB/s), 21.3MiB/s-21.3MiB/s (22.3MB/s-22.3MB/s), io=1024MiB (1074MB), run=48077-48077msec
Raspberry Pi 5 (Mem: 8G, SSD) - 1台目
WRITE: bw=368MiB/s (386MB/s), 368MiB/s-368MiB/s (386MB/s-386MB/s), io=1024MiB (1074MB), run=2785-2785msec
READ : bw=380MiB/s (399MB/s), 380MiB/s-380MiB/s (399MB/s-399MB/s), io=1024MiB (1074MB), run=2692-2692msec
Raspberry Pi 5 (Mem: 8G, SSD) - 2台目
WRITE: bw=375MiB/s (394MB/s), 375MiB/s-375MiB/s (394MB/s-394MB/s), io=1024MiB (1074MB), run=2728-2728msec
READ : bw=429MiB/s (449MB/s), 429MiB/s-429MiB/s (449MB/s-449MB/s), io=1024MiB (1074MB), run=2389-2389msec
Jetson Orin Nano NX 16G (Mem: 16G, SSD)
WRITE: bw=1636MiB/s (1715MB/s), 1636MiB/s-1636MiB/s (1715MB/s-1715MB/s), io=1024MiB (1074MB), run=626-626msec
READ : bw=1405MiB/s (1473MB/s), 1405MiB/s-1405MiB/s (1473MB/s-1473MB/s), io=1024MiB (1074MB), run=729-729msec
結論
SDカードは、あまりに遅いので Raspberry Pi 3 B+, 4 は選択肢から外しました。
Jetsonは、LLMで使用しますので、邪魔したくない。
となると、Raspberry Pi 5 のどちらからです。2台目の方が、速度がでているので、2台目をNFSに就任させます🍻