以前、他のシングルボードコンピュータで、Ubuntu benchmarkを動かしてみました。
先程、Raspberry Pi 4 Model Bに64ビット版のUbuntu 19.10を動かしてみましたが。
性能評価の参考例として、Ubuntu benchmarkと同様にhardinfoとsysbenchを動かしてみました。(Ubuntu Benchmarkのパッケージは無くなったようです)
新しいベンチマークの方法と結果を記録しておこうと思います。
目次
hardinfoとsysbenchのインストール
Ubuntu 19.10の場合、次のコマンドでhardinfoとsysbenchをインストールしました。
sudo apt update
sudo apt upgrade
sudo apt install hardinfo sysbench
hardinfo実行結果
最初に、hardinfoを動かしてみましょう。
hardinfo
CPUは、1500MHz ARM Cortex-A72 r0p3(AArch64)が4つ構成のようです。
- [CPU Blowfish]7.290007
- [CPU CryptoHash]1.149453
- [CPU Fibonacci]2.060659
- [CPU N-Queens]9.834657
- [CPU Zlib]12.086398
- [FPU FFT]5.138995
- [FPU Raytracing]3.210649
ふむふむ。
sysbench実行結果
cpuテスト
sysbench cpu run
このような感じになりました
- CPU speed
- events per second: 1490.88
- 値が大きければ1秒あたりの処理回数が多い。
- events per second: 1490.88
- General statistics
- total time: 10.0008s
- total number of events: 14916
- latency(ms): 小さければ処理の遅延が小さい。
- min: 0.67
- avg: 0.67
- max: 0.69
- 95th percentile: 0.69
- sum: 9995.11
- Threads fairness:
- events (avg/stdded): 14916/0.00
- excution time (avg/stddev): 9.9951/0.00
threadsテスト
sysbench threads run
Raspberry Pi 4は、4コアのCPUということで。コア数の大きいCPUのほうが、threadsの結果は大きい傾向のようです。
- General statistics
- total time: 10.0011s
- total number of events: 43790
- Latency(ms)
- min: 2.00
- avg: 2.36
- max: 2.46
- 95th percentile: 02.43
- sum: 9998.51
- Threads fairness
- events (avg/stddev): 4234/0.00
- execution time (avg/stddev): 9.9985/0.00
fileioテスト
テスト用ファイルの作成
予めテスト用のファイルを準備しておきます。
sysbench fileio --file-total-size=4G prepare
シーケンシャルリード(seqrd)
sysbench fileio --file-total-size=4G --file-test-mode=seqrd run
こちらは起動にしようしたmicroSDカードのテストになります。
結果は、29.86MiB/sとなりました。
使用したmicroSDカードは、UHS-I U3 A1容量256GBのものです。
UHS-I U3対応のmicroSDカードは、最低速度30MB/sが保証されています。一方、UHS-I U1のものは、最低速度10MB/sが保証されていますが、30MB/sを超えることは無い感じがします。(※個人的に実験をした範疇においてであり、すべてのmicroSDカードの製品について言及するものではありません)
Raspberry Pi 4のmicroSDカードアクセス速度について、29.86MiB/sの速度を出したい場合は、少なくとも、UHS-I U3の製品を買っておく必要がある感じがします。U1の場合、製品により、それ以下の速度になる可能性がある、という感じでしょうか。
この後のランダムアクセスについても、同様の状況のようです。
シーケンシャルライト(seqwr)
sysbench fileio --file-total-size=4G --file-test-mode=seqwr run
ふむふむ。
ランダムリード(rndrd)
sysbench fileio --file-total-size=4G --file-test-mode=rndrd run
ランダムリードは、52.66MiB/sになりました。繰り返しになりますが、UHS-I U3 A1のmicroSDカードを使用した結果になります。
別のmicroSDカードを使用した場合、A1/A2/(無印)で結果が変わる可能性もあります。
ランダムリードは、結果があまりに早すぎるため、念の為、もう一度測定しました。計測しなおしても、51.30MiB/sということで、なかなかのアクセス速度かと思います。
ランダムライト(rndwr)
sysbench fileio --file-total-size=4G --file-test-mode=rndwr run
同じ測定条件(同じmicroSDカード)ではありませんが、Rock64の場合0.93MiB/sという結果でしたので、かなり良い結果かと思います。
テスト用ファイルの削除
sysbench fileio cleanup
以上のような感じで、Raspberry Pi 4 model Bで64ビット版のUbuntu 19.10を動かして、各種ベンチマークソフトを実行してみました。
Raspberry Pi 4 model Bは、今の所(※19.12.1現在)、microSDカードによるブートにのみ対応し、USBストレージによる起動に対応していない感じです。
よって、使用するmicroSDカードの性能が、システム性能に大きく影響するかと思います。
sysbenchの結果から、microSDカードへのアクセス速度は、30MiB/sに近いことがわかりました。
またランダムアクセス(読み込み)性能も50MiB/sを超えています。
この結果から、microSDカードは、安価なUHS-I U1対応製品よりも、ワンランク上のUHS-I U3 A1やUHS-I U3 A2の製品を選ぶほうが良さそうな感じです。
さてさて。良さげなmicroSDカードを探せたところで。
Raspberry Pi 4の性能を十分に引き出して、あんなことや、こんなことで楽しく遊びましょう!