ARC — это кэш чтения ZFS в оперативной памяти
Рекомендации по ARC для разных объемов ОЗУ
16 ГБ для 64 ОЗУ = 17179869184
24 Гб для 128 ОЗУ = 25769803776
32 Гб для 196 ОЗУ = 34359738368
nano /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=68719476736
Значение задается в байтах
64x1024x1024x1024=68719476736
update-initramfs -u -k all
proxmox-boot-tool refresh
echo 51539607552 > /sys/module/zfs/parameters/zfs_arc_max
cat /sys/module/zfs/parameters/zfs_arc_max
zarcsummary -s arc
arc_summary -s arc в старых версиях
Выводит детальную статистику ввода-вывода (I/O) для конкретного пула.
zpool iostat -v rpool 5 |
apt install sysstat iostat -xz 5 |
zarcstat 1
arcstat 1 в старых версиях
zarcstat -f miss,size,dmh% 1
Misses (промахи). Это количество раз в секунду, когда ZFS не нашла нужные данные в оперативной памяти и была вынуждена пойти за ними на физические диски.
ddh% (Data Demand Hit %) — Это ваш основной показатель. Он показывает, какой процент данных, которые запросили приложения (1С, SQL), был найден в кэше.
Например, 65.5% означает, что за оставшимися 34.5% данных ZFS пошла на диски. Должен стремиться к 100%
dmh% (Data Metadata Hit %) — Показывает, сколько метаданных (информация о структуре файлов, правах и т.д.) найдено в кэше. Обычно он всегда близок к 100%.
size - кеш
zarcstat -f time,hits,miss,hit%,size,c,metasz,mh% 1 |
Включаем сжатие lz4 (снижает нагрузку на медленные диски за счет CPU)
zfs set compression=lz4 pbs-data
Отключаем лишние операции записи метаданных
zfs set atime=off pbs-data
Ограничиваем размер блока (PBS по умолчанию пишет чанками, 128k — ок)
zfs set recordsize=128k pbs-data