Banana Pi のN/W経由のHDD測定〜Gigabit対応編〜

投稿者: | 2017年9月8日

先日行ったsamba経由での Banana Pi M1 Classic の性能を正しく測るために、再度テストを実施しました(Banana Pi のN/W経由のHDD測定)。

前回のテストは

  • 測定中、CPU占有率は低いままなのでコントローラ周りの性能
    • Banana Pi M1 のディスクコントローラ
    • CROO-IS(のIDE→SATA変換)がボトルネックになっている etc.
  • sambaのチューニングをしていないから
  • 100BASE-TX環境でテストしたから(Banana Pi M1 のonBoard NICはGigabit)

などの疑問点が残る形となりました。

反省点を踏まえ、今回はケーブルを含めGigabit対応にしました。
また、前回同様に3.5HDD(IDE / 7200rpm)と、回転数は異なりますが新たに2.5HDD(SATA300 / 5400rpm)を用意して差異を確認していきたいと思います。

なお、sambaのチューニングに際して、参考にさせていただいたのは以下のページです。

MTUの設定変更(Jumbo Frame)

$ ifconfig eth0 mtu 9000

Banana Pi M1 Classic 搭載NICのスペックなのかOSなのかは不明ですが、未対応でした。

socket options(samba送受信ソケットのパラメータ)の設定

上記Webサイトを参考に、sambaの”socket options”パラメータを変更してテストしました。
1. socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
2. socket options = (行自体は記載するが値は未設定)
3. socket options 自体を未設定(デフォルトは未設定)

テスト用ディスク(1):WD製HDD概要

先日、使用したWD製HDDと同じもの(WD製:E-IDE、250GB / WD2500)を流用しています。

HDD 基本性能 I/F 変換基盤 変換後I/F
WDC WD2500BB-00GUA0 3.5HDD / 7200rpm ATA/ATAPI-6 CROO-IS SATA/150

※詳細は「Banana Pi のN/W経由のHDD測定」の”使ったディスク”欄をご参照ください

テスト用ディスク(2):Fujitsu製HDD概要と詳細

HDD 基本性能 I/F
FUJITSU MHZ2250BH G2 2.5HDD / 5400rpm SATA/300

以下、「CrystalDiskInfo 6.8.2」の情報抜粋。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 (2) FUJITSU MHZ2250BH G2
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
       Enclosure : FUJITSU MHZ2250BH G2 USB Device (V=04FC, P=0C25, sp1)
           Model : FUJITSU MHZ2250BH G2
       Disk Size : 250.0 GB (8.4/137.4/250.0/250.0)
     Buffer Size : 8192 KB
     Queue Depth : 32
       Interface : USB (Serial ATA)
   Major Version : ATA8-ACS
   Minor Version : ATA8-ACS version 3f
   Transfer Mode : ---- | SATA/300
        Features : S.M.A.R.T., APM, AAM, 48bit LBA, NCQ

WD製HDD → USB接続 / USB2.0変換アダプタ経由

1. socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384

2. socket options = (行自体は記載するが値は未設定)

3. socket options 自体を未設定(デフォルトは未設定)

WD製HDD → SATA接続

1. socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384

2. socket options = (行自体は記載するが値は未設定)

3. socket options 自体を未設定(デフォルトは未設定)

まず、設定についての結論

USB2.0接続とSATA直接続双方のテストで、上記参考サイトの通り「socket options」は未設定のほうがパフォーマンスが高いという結論に至りました。
また、N/WはGigabitが最低条件になりそうです(100BASE-TX環境でのテスト結果は「Banana Pi のN/W経由のHDD測定」をご参照ください)。

そして、追加テスト

以下、「socket options」未設定の状態のみ、追加テストを実施しました。

Fujitsu製HDD → USB接続 / USB3.0変換アダプタ経由

3. socket options 自体を未設定(デフォルトは未設定)


USB3.0変換ケーブルを使用してのテストですのでWD製HDDと全く同じ条件ではありませんが、SATA300やNCQの有無が結果に影響することを確認できました。

Fujitsu製HDD → SATA接続

3. socket options 自体を未設定(デフォルトは未設定)


結果は、上記USB3.0変換ケーブルを使用してのものと大差ありません。

そして、性能上限の結論

どうやら、Fujitsu製HDDで行ったテスト結果(に、ちょっとプラスした程度)あたりが Banana Pi M1 Classic の性能上限のようです。
※「ちょっとプラスした程度」と記載したのは、IDE/SATA変換基板を使っている「WD製HDD → SATA接続」のほうがWRITE性能が高かったからです(結果の違いは、回転数の違いからくるものだと考えられます)

とはいえGigabit環境下であれば、シーケンシャルのWRITEで40MB前後・READで25-30MB前後の数値が出ているので、小規模な組織で使うNASとしては十分運用に耐えると思われます。

2017.9.15追記
BananaPi製品ページによると BananaPi M1 Classic のSATAは3Gbps対応版のようです。
また、スペック表によると、SDは上限64GB・SATAは上限2TBとなっています。