ZFSでARCの効果を調べる

2018年3月19日FreeBSD,Mac,NAS,netatalk

Netatalk MLで話題になっていたので、調べてみました。

サーバスペックは、概ね次の通りです。

重要なところだけ抜き出すと、次の通りです。

  • サーバスペック
    • Pentium G630T (MEM 16GiB)
    • ARC 15GiB (DRAM)
    • ZIL 8GiB (SSD)
    • L2ARC 16GiB (SSD)
    • データプール(upool) (HDD)
    • FreeBSD 10.0
  • クライアントスペック
    • MacBook Pro Retina 13 (Early 2015) i5 (MEM 16GiB)
    • USB3-GigabitEtherアダプタで接続
    • OS X 10.10.3 Yosemite

FreeBSDには、Netatalk3.1.7とSamba3.6.25をインストールしてあります。この状態で、ARC(primarycache)をOn/Offして、ベンチマークを取ってみました。ベンチマークは、fioを使っています。測定条件は、CristalDiskMarkに近くなるように設定しています。

ARC On/OffでのFIOベンチマーク

いつもどおり、AFP接続の方が速いです。ARCをOFFにすると、ガクッと速度が落ちますね。ARCをONでしか使ったことがなかったので、ARCがこんなに効果的とは思っていませんでした。

なお、ARCのOn/Offは次のコマンドで設定できます。データセットが、upool/export/aの場合です。

ARC On

# zfs set primarycache=all upool/export/a

ARC Off

# zfs set primarycache=none upool/export/a

ちなみに、ARCの状態を見る方法は次の通りです。これは、ARCがOffの状態です。

# zfs get primarycache upool/export/a
NAME            PROPERTY      VALUE         SOURCE
upool/export/a  primarycache  none          local

AFP接続とSMB接続とで、速度低下率を調べています。

ARC On/Offでの速度低下率

AFP接続(netatalk)だと、Writeに比べてReadの速度低下率が大きいようです。SMB接続(samba)だと、落ち方は大体同じなのですが、Sequential Writeがなぜか速くなっています。何故でしょうか?

Posted by お市のかた