Для ограничения и спасения дискового массива (особенно используемых совместно с другими) нужно ограничить глубину очереди. Это рекомендуется и производителями массивов в том числе. EMC например для своих VMAX рекомендует начать настройку с цифры 20 и далее вести ее до 32. HDS сразу предлагает с 32 начать.
Параметры выставляются в /etc/system
set ssd:ssd_max_throttle=32
set sd:sd_max_throttle=32
Это выставит ограничитель на 32 глобально для дисков sd и ssd (не путать с флешами, это solaris:)))
И вот что заметилось - эти параметры были актуальны при работе с UFS. У ZFS есть свой параметр, который делает то же самое и по умолчанию он выставлен в 10.
Проверим сначала:
#echo zfs_vdev_max_pending/D | mdb -k
Увидим 10. Теперь установим в 32:
- через /etc/system
set zfs:zfs_vdev_max_pending=32
- на ходу для попробовать:
#echo zfs_vdev_max_pending/W0t32 | mdb -kw
Кстати, что бы посмотреть влияние этого параметра , стоило запустить генератор нагрузки vdbench и iostat -zxne 5 посмотреть на колонку actv, это и есть показатель глубины очереди. Для ZFS дисков он был бы не более 10.
После установки в 32, сделать тот же тест и посмотреть влияние. Если массив достаточно мощен, мы получим не плохой процент роста производительности.
PS: mdb -k
::memstat
Смотрим ZFS File Data - это то что забирает ZFS под свои кэши. Если не ограничить параметрами, то памяти не останется и плевать, что написано в доках о том, что мол ZFS отдаст сразу память как только она потребуется другому приложению. Этого не происходит (по крайней мере так как ждет приложение).
Параметры выставляются в /etc/system
set ssd:ssd_max_throttle=32
set sd:sd_max_throttle=32
# echo sd_max_throttle/D | mdb -k
# echo ssd_max_throttle/D | mdb -k
Это выставит ограничитель на 32 глобально для дисков sd и ssd (не путать с флешами, это solaris:)))
И вот что заметилось - эти параметры были актуальны при работе с UFS. У ZFS есть свой параметр, который делает то же самое и по умолчанию он выставлен в 10.
Проверим сначала:
#echo zfs_vdev_max_pending/D | mdb -k
Увидим 10. Теперь установим в 32:
- через /etc/system
set zfs:zfs_vdev_max_pending=32
- на ходу для попробовать:
#echo zfs_vdev_max_pending/W0t32 | mdb -kw
Кстати, что бы посмотреть влияние этого параметра , стоило запустить генератор нагрузки vdbench и iostat -zxne 5 посмотреть на колонку actv, это и есть показатель глубины очереди. Для ZFS дисков он был бы не более 10.
После установки в 32, сделать тот же тест и посмотреть влияние. Если массив достаточно мощен, мы получим не плохой процент роста производительности.
PS: mdb -k
::memstat
Смотрим ZFS File Data - это то что забирает ZFS под свои кэши. Если не ограничить параметрами, то памяти не останется и плевать, что написано в доках о том, что мол ZFS отдаст сразу память как только она потребуется другому приложению. Этого не происходит (по крайней мере так как ждет приложение).
Комментариев нет:
Отправить комментарий