FreeBSD zfs tuning

http://open-zfs.org/wiki/Performance_tuning

vfs.zfs.arc_meta_limit
ARCのうち、メタデータに使う量(バイト単位)
デフォルトは全物理メモリの 1/4 に設定される (arc_maxは(全物理メモリ- 1GB))
vfs.zfs.arc_max: ARCの最大値。 デフォルトは(全物理メモリ量-1GB)。
vfs.zfs.arc_min: ARCの最小値。 デフォルトは全物理メモリ量の1/32。
設定してもハードリミットにはならない! → 一時的に超えても構わない値にすること

https://people.allbsd.org/~hrs/sato-FBSDS20161129.pdf

pkg install zfs-stats

zfs-stats -A
zfs-mon -a

koie blog:いってきた: 第13回 FreeBSD勉強会 「ZFS の活用とチューニング」

ZFS prefetching

Loader tunables (in /boot/loader.conf):

# Disable ZFS prefetching

# http://southbrain.com/south/2008/04/the-nightmare-comes-slowly-zfs.html
# Increases overall speed of ZFS, but when disk flushing/writes occur,
# system is less responsive (due to extreme disk I/O).
# NOTE: Systems with 4 GB of RAM or more have prefetch enabled by default.
vfs.zfs.prefetch_disable="1"

ZFSTuningGuide - FreeBSD Wiki

FreeBSD 13.0 で vfs.zfs.prefetch.disable に名前が変わっている

vfs.zfs.prefetch.array_rd_sz: 1048576
vfs.zfs.prefetch.max_idistance: 67108864
vfs.zfs.prefetch.max_distance: 8388608
vfs.zfs.prefetch.min_sec_reap: 2
vfs.zfs.prefetch.max_streams: 8
vfs.zfs.prefetch.disable: 1
ARC

ARC と L2ARC は、それぞれ ZFS の一次用、二次用の READ 用キャッシュとして機能し、READ のパフォーマンスを向上させる仕組みなのですが、RAID アレイ装置や、アプリケーションとの組み合わせによっては、逆にこの READ 用キャッシュ
がオーバヘッドとなる時もあります。

そんな時は、この ARC と L2ARC の働きを OFF にするチューニングが有効です。
この ZFS キャッシュのチューニングには、all/none/metadata の3種類があります。

all: キャッシュを行う
none: キャッシュを行わない
metadata : メタデータのみキャッシュする
ZFS の READ 用キャッシュチューニング方法 | Oracle やっぱり Sun がスキ! Blog

arcのmunin plugin
contrib/zfs_arcstats at master · munin-monitoring/contrib · GitHub
これがよさそう

ZFS Tips [Share FreeBSD based information]