Раньше уже возникал вопрос, как все же тюнить параметры ZFS и нужно ли это вообще. "Тюнинг - зло", как говорит один мой знакомый, цитируя, в свою очередь, разработчиков Sun. :)
Я в очередной раз позволю себе не согласиться с этим утверждением.
Вот данные машины, которая глубоко затюнена на экстремальную производительность. Конкретно это Веб-сервер поверх БД Oracle 10g + WebCache + DNS сервер и некоторое количество веб-приложений. Машина оптимизирована на отклик, который составляет в среднем 0,02 секунды.
root @ host1 / # arc_summary.pl
System Memory:
Physical RAM: 4087 MB
Free Memory : 235 MB
LotsFree: 63 MB
ZFS Tunables (/etc/system):
set zfs:zfs_arc_max=1073741824
ARC Size:
Current Size: 1024 MB (arcsize)
Target Size (Adaptive): 1024 MB (c)
Min Size (Hard Limit): 128 MB (zfs_arc_min)
Max Size (Hard Limit): 1024 MB (zfs_arc_max)
ARC Size Breakdown:
Most Recently Used Cache Size: 69% 713 MB (p)
Most Frequently Used Cache Size: 30% 310 MB (c-p)
ARC Efficency:
Cache Access Total: 7611011
Cache Hit Ratio: 83% 6377985 [Defined State for buffer]
Cache Miss Ratio: 16% 1233026 [Undefined State for Buffer]
REAL Hit Ratio: 70% 5399102 [MRU/MFU Hits Only]
Data Demand Efficiency: 92%
Data Prefetch Efficiency: 58%
CACHE HITS BY CACHE LIST:
Anon: 6% 431443 [ New Customer, First Cache Hit ]
Most Recently Used: 27% 1748620 (mru) [ Return Customer ]
Most Frequently Used: 57% 3650482 (mfu) [ Frequent Customer ]
Most Recently Used Ghost: 4% 267234 (mru_ghost) [ Return Customer Evicted, Now Back ]
Most Frequently Used Ghost: 4% 280206 (mfu_ghost) [ Frequent Customer Evicted, Now Back ]
CACHE HITS BY DATA TYPE:
Demand Data: 62% 4007518
Prefetch Data: 13% 829263
Demand Metadata: 21% 1353953
Prefetch Metadata: 2% 187251
CACHE MISSES BY DATA TYPE:
Demand Data: 26% 324286
Prefetch Data: 48% 596230
Demand Metadata: 20% 257751
Prefetch Metadata: 4% 54759
---------------------------------------------Как следует из приведенных данных, ARC сознательно лимитирован с целью не допустить его чрезмерного разрастания и конфликта с WebCache:
set zfs:zfs_arc_max=1073741824Режим кэширования ZFS не менялся:
data primarycache all default
data secondarycache all default
Хотя из статистики и следует, что, возможно, имеет смысл отключить кэширование метаданных с целью снижения нагрузки на оперативную память, сделать этого не получится:
primarycache YES YES all | none | metadata
secondarycache YES YES all | none | metadata
поскольку не предусмотрено кэширование только данных. Кстати, игры с размерностью лимита для данного конкретного сервера показали оптимум именно в заданном размере.
Quod erat demonstrandum - Что и требовалось доказать.
