家にいくつかのバージョンのRaspberryPi(とPC)があったのでサーバー化して性能比較してみた。
比較条件
比較ハード
- Raspberry Pi Model B, Revision 2.0
- Raspberry Pi3 Model B
- Raspberry Pi4 Model B, 4GB RAM
- ノートPC
※Pi2はないです...
ハード | CPU | メモリ | 有線LAN | USB | OS |
---|---|---|---|---|---|
Raspberry Pi | BCM2835 (700 MHz 1コア) |
512 MB | 10/100Mbps イーサネット |
USB2.0 | Debian Buster 4.19 |
Raspberry Pi3 | BCM2837 (1.2 GHz 4コア) |
1 GB | 10/100 Mbps イーサネット |
USB2.0 | Debian Buster 4.19 |
Raspberry Pi4 | BCM2711 (1.5 GHz 4コア) |
4 GB | Gigabit イーサネット |
USB3.0 | Debian Buster 4.19 |
ノートPC | Corei7-3632QM (4コア8スレッド) |
16 GB | Gigabit イーサネット |
USB3.0 | Ubuntu 20.04 LTS |
その他
- サーバーのストレージ:全てのハードで同条件にするため、USB3.0 & セルフパワーの外付けHDDをストレージに
- サーバー化方法:sambaを使用(方法)。
- クライアントPC(サーバーにアクセスするPC):Windows10
性能比較
- CrystalDiskMark
- 実際のファイル書き込み&読み込み時間
- 使用感
で比較。
CrystalDiskMark
CrystalDiskMark(ver.7)を使用した。
CrystalDiskMarkを管理者権限で実行するとネットワークドライブのベンチマークが取れないため、「このアプリがデバイスに変更を加えることを許可しますか?」の画面で「いいえ」を選択して実行する。
- Raspberry Pi3
- Raspberry Pi4
- ノートPC
ファイルサーバーの場合は上から1, 2行目のSEQ(シーケンシャルアクセス)を参考にすればいいみたい。
- シーケンシャルアクセス:記憶媒体の領域を端からアクセスする方法で、ファイルコピーなどの速さに関係
参考: https://xtech.nikkei.com/atcl/nxt/column/18/00393/073000003/?P=3
また、Q8T1などはそれぞれキュー数とスレッド数に対応していて、この場合はキュー数8, スレッド数1を表している。
キュー数:処理待ちとして保持する命令数で、複数のアクセス命令を処理する場合に効いてくる
参考:https://pcinformation.info/storage/queue-depth.htmlスレッド数:同時実行する処理数
Read・WriteともにPi1<Pi3<<Pi4<PCの順で性能が良かった。
特にWriteの差が大きい。
やっぱりGigabitイーサネットの差がでかいように見える。
実際のファイル書き込み&読み込み時間
1GBのファイルを実際にコピーして完了までの時間を計測した。
- 1GBファイル作成方法
下記コマンドをPowerShellで実行。
fsutil file createnew dummy_1GB.dat (1024*1024*1024)
- ファイルコピー&時間計測
下記batファイルをコマンドプロンプトで実行。
@echo off rem 読み込み速度:サーバーからクライアントへコピー echo read echo %time% copy Z:\dummy_1GB.dat dummy_1GB_read.dat echo %time% rem 書き込み速度:クライアントからサーバーへコピー echo write echo %time% copy dummy_1GB_read.dat Z:\dummy_1GB_write.dat echo %time%
3回計測した平均が以下。
ハード | 読み込み速度[MB/s] | 書き込み速度[MB/s] |
---|---|---|
Raspberry Pi | 5.43 | 2.04 |
Raspberry Pi3 | 10.99 | 11.03 |
Raspberry Pi4 | 100.00 | 30.58 |
ノートPC | 103.09 | 107.53 |
読み込み速度はPi1<Pi3<<Pi4=PCの順で性能が良かった。CrystalDiskMarkのSEQ1M Q8T1(一行目)と似た結果。
書き込み速度はPi1<Pi3<Pi4<PCの順で、これもCrystalDiskMarkのSEQ1M Q8T1(一行目)と似た結果。
Pi1<Pi3<Pi4までは性能差が出るけど、Pi4とPCの読み込み速度は差が出ないみたい。
使用感
各ハードをサーバー化して使った時の使用感を比較した。
Raspberry Pi
普通にエクスプローラでフォルダを開くときに固まったりする。
普段使うサーバーとして使いたくない。。。めったに使わないファイル保管所としてはありか。。。?Raspberry Pi3
エクスプローラの操作やファイルアクセスには特に不満がない。
ただし、ファイルのコピー時に2,3秒アクセスが遅れることがある。
サーバーとして使えるけどたまにイラっとする。Raspberry Pi4
ファイルをいくつかコピーしているときでもアクセスが快適。
サーバーとして安定して使える。ノートPC
使用感はRaspberry Pi4と変わらない。
コピー時に速いなと思うくらいかな。
追加検証
USB2.0と3.0の比較
外付けHDDをUSB2.0接続か3.0接続かでサーバーの性能差が出るのか検証した。
Raspberry Pi4のUSB2.0ポートに外付けHDDを接続して性能を調べた。
ハード | 読み込み速度[MB/s] | 書き込み速度[MB/s] |
---|---|---|
Pi4(USB3.0) | 100.00 | 30.58 |
Pi4(USB2.0) | 100.00 | 29.15 |
CrystalDiskMarkのSEQ1M Q8T1のWrite以外は性能は変わらない。
実際のファイル書き込み&読み込み時間はどちらも性能に差なし。
イーサネットがボトルネックになっていてUSB2.0でも3.0でも変わらないっぽい。
比較したサーバーの性能ってどんなものなの?
比較したサーバーの性能ってどんなものなのか調べるためにクライアントPCの内蔵SSDとクライアントPCにUSB接続した外付けHDDの性能も調べた。
内蔵SSD圧倒的ィ...
Pi4やノートPCのサーバーは直接クライアントPCにUSB2.0接続した外付けHDD以上の性能はある。
まとめ
Raspberry Pi1, Pi3, Pi4, ノートPCをサーバー化して性能比較した。
だいたいPi1<Pi3<<Pi4<=PCの性能差で、個人用途ではPi4で支障なさそう。
個人的にはPi4にするかなー。