Raspberry PiでNASを構築すると、どれくらいの転送速度が得られるのか、簡単にベンチマークを取ってみた。
■ 検証環境
・Raspberry Pi, type B
・2013-02-09-wheezy-raspbian OS
・クライアントPCはUbuntu 12.04
■ Sambaサーバの構築
パッケージのインストール
$ sudo apt-get install samba-common
$ sudo apt-get install samba-tools
$ sudo apt-get install samba-common-bin
設定ファイルの編集。ベンチマーク目的のため、アクセス制限は掛けない
[share]
comment = Share Disk
#path = /var/samba_share ← SDカード内の場合
path = /media/usbdisk/samba ← USB外付けディスクの場合
guest ok = yes
read only = no
create mask = 0777
directory mask = 0777
browseable = yes
public = yes
設定ファイルを編集し、外付けディスクの場合はしかるべき場所にマウントした後、サービスを再起動する。
■ WebDAVサーバの構築
パッケージのインストール
$ a2enmod dav
$ a2enmod dav_fs
設定ファイルの編集。こちらも、ベンチマーク目的のためアクセス制限を掛けない。
〜 中略 〜
# Alias /webdav "/var/webdav-data"
Alias /webdav "/media/usbdisk/webdav-data"
<Location /webdav>
DAV on
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
■ クライアントPCの準備
davfs2(WebDAVファイルシステム)設定ファイルを、キャッシュを利用しない方法に変更する
# ---------------------
# backup_dir lost+found
# cache_dir /var/cache/davfs2 # system wide cache
# ~/.davfs2/cache # per user cache
cache_size 0 # MiByte (default 50)
# table_size 1024
# dir_refresh 60 # seconds
# file_refresh 1 # second
delay_upload 0 # (default 10)
# gui_optimize 0
SambaとWebDAVのリモートディスクをマウントする。Raspberry PiのIPアドレスは192.168.1.50とする。
$ mount -t davfs -o uid=www-data,gid=www-data,dir_mode=777,rw http://192.168.1.50/webdav /media/dav
■ ベンチマークの実行
今回は、Raspberry Pi用Arch Linuxのインストールイメージファイル(約200MBytes)を転送して、その時の速度を測った。
archlinux-hf-2013-02-11.zip
sent 203703239 bytes received 31 bytes 2809700.28 bytes/sec
total size is 203678287 speedup is 1.00
$ rsync -v ./archlinux-hf-2013-02-11.zip /media/smb/
archlinux-hf-2013-02-11.zip
sent 203703239 bytes received 31 bytes 10446321.54 bytes/sec
total size is 203678287 speedup is 1.00
ベンチマーク結果をイラストでまとめると、このような形になる。
Sambaの場合のベンチマーク結果
WebDAVの場合のベンチマーク結果
ネットワーク(Ethernet)が100Mbps、USB 2.0が480Mbpsというハードウエアの制約に対して、Samba接続では8〜10MBytes/s(64Mbps〜80Mbps)、WebDAV接続では2.6〜3MBytes/s(20Mbps〜24Mbps)程度の速度が出ている。(ntfsフォーマットはntfs-3gドライバの効率が悪いようなので、これより遅くなっている)
SambaはWebDAVより転送速度が全般的に速い。Raspberry PiのCPU負荷率も、Sambaのほうが軽い(topコマンドの出力)。
3179 www-data 20 0 224m 4288 2156 S 95.1 1.0 1:14.38 apache2
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3334 nobody 20 0 21832 3060 2276 D 76.3 0.7 0:19.63 smbd