Несмотря на мою устойчивую нелюбовь к Solaris, ZFS в целом, как файловая система - просто выше всяческих похвал. К сожалению, как мне кажется, ей не уделяют должного внимания при развитии в целом (например, нет поддержки trim), с другой стороны, такая файловая система была настолько мощным рывком вперед, что до сих пор остается лучшей.
Поговорим о том, что нужно сделать, чтобы ZFS была еще и быстрой. В общих чертах и без учета конкретных условий.
1) Памяти должно быть много. Очень много и еще лучше - больше. ARC должен быть большой.
2) Если массив с батарейкой - set zfs:zfs_nocacheflush=1 (в /etc/system)
3) Выставьте zfs set atime = off
4) Правильно выставьте recordsize, слишком большой при маленьком блоке базы данных, например, приведет к излишним чтениям и замусориванию кеша. Обратите внимание, что recordsize распространяется только на новые файлы. Надо старые куда-то оттащить и вернуть обратно, чтобы они правильно легли. Для баз Oracle recordsize=db_block_size, для бекапов, redo, undo = 1M.
5) set zfs:zfs_vdev_max_pending=35 общее правило, что если нужен быстрый отклик, то снижаем к 10, если большая отдача - поднимаем.
6) Нельзя заполнять пул больше чем на 80%, в противном случае получите адскую фрагментацию и тормоза.
7) logbias надо выбрать правильный