2013年11月16日 星期六

Raspberry Pi 傳檔案的速度

我自己是把現在的 RaspyFi 當 NAS 在用,但是無論是 samba/sftp/ftp 的速度都非常慢,只有 ftp 勉強有 2MB/s,找了一些網路文章參考之後,做了下面調整。

0. 修改 samba.conf
我發現像在 RaspBMC 上面一樣只改 /etc/smb.conf 是不夠的,重開機之後我改寫過要分享外接硬碟的 smb.conf 會被覆蓋掉,不會正確把外接硬碟分享。RaspyFi 還需要把 /var/www/_OS_SETTINGS/etc/samba/smb.conf 改掉。

1. 外接硬碟改用 async


這是全部裏面最重要的設定,一定要改,不然速度無論如何都無法突破 2MB/s。

2. 外接硬碟不用 NTFS 改用 ext3 或是 ext4。
因為 NTFS 的詳細規格微軟並沒有公開,因此在 Linux 上面的實作效率不佳。

3. 用 samba 配合 ftp,不要用 sftp。
只要在「我的電腦」裏面打上,\\IP,就可以透過 samba 直接傳送檔案,速度可以到 5.75MB/s。不用  sftp 的原因是他比較耗 CPU,速度會比較慢。

還需要配合使用 ftp 的原因是,透過用 samba 移動檔案的時候等於是複製再刪除,很沒有效率,ftp 則可以正常的移動檔案。

ftp 的安裝可以參考這篇文章



我把 vsftpd.conf 把其中 anonymous 加上註解,把 write 跟 local 拿掉註解。再用最後一行重開就好。我測試 ftp 的速度是 6.2MB/s 了,比起 samba 只有快一點點。
 
4. 用有線網路而不是無線網路。
和 3 都一樣的設定,只是把我電腦的有線網路換成 802.11n 的無線網路 (沒有合併頻寬),速度掉到3.6MB/s,其實還低於 802.11n 標準頻寬的理論速度 5.4MB/s。

5. 要更往 10MB/s 逼近 (100Mbps 乙太網路的理論速度),就需要超頻了。


當然 6MB/s 的速度不是非常理想,但受限於 Raspberry Pi 只有 10/100Mbps 乙太網路,以及那顆不夠快的 CPU,我就接受它之後加減用啦。

最近朋友推荐 Cubietruck,有 Gigabyte ethernet、雙核心、SATA II 的硬碟介面,只是不知道有沒有 USB 3.0。看起來是相當不錯的產品!也有 Android 版本的作業系統可以跑 XBMC。

沒有留言:

張貼留言