--merge_write_enabled

Функция Merge (опция --merge_write_enabled) может улучшить работу с маленькими блоками, намеренно устанавливая некоторое время ожидания для запросов на запись, в течение которого запрос не передаётся на диски. Последовательные запросы объединяются, что позволяет существенно сократить количество операций для обработки запросов на синдромных RAID, так как сокращается количество операций read-modify-write. Однако, если запись случайная, то такое ожидание не позволит объединить запросы, отрицательно влияя на производительность RAID.

:

При последовательной записи маленькими блоками и большом количестве потоков рекомендуем включать Merge при помощи опции --merge_write_enabled.

Поскольку время получения I/O зависит от интенсивности нагрузки, размера и других параметров, для лучшей работы объединения запросов может потребоваться изменение опций --merge_wait и --merge_max. Как правило, для больших размеров I/O требуются большие значения этих опций.

Для работы функции необходимо выполнение условия

data_drives * strip_size ≤ 1024

где

  • «data_drives» – количество выделенных под данные дисков в RAID (для RAID 5, 6 или 7.3) или в одной группе RAID (для RAID 50, 60 или 70);
  • «strip_size» – выбранное для RAID значение стрипа (значение strip_size) в KiB.

Значение «data_drives» в зависимости от уровня RAID:

Уровень RAID Значение data_drives
RAID 5

Количество дисков в RAID минус 1

RAID 6

Количество дисков в RAID минус 2

RAID 7.3

Количество дисков в RAID минус 3

RAID N+M

Количество дисков в RAID минус M

RAID 50

Количество дисков в одной группе RAID минус 1

RAID 60

Количество дисков в одной группе RAID минус 2

RAID 70

Количество дисков в одной группе RAID минус 3

Если заранее известно, что глубины очереди пользовательской нагрузки и размера блока недостаточно, чтобы накопить на целый страйп, то Merge включать не рекомендуется. Другими словами, Merge стоит включить, если

iodepth * block_size >= data_drives * strip_size

где «block_size» – размер блока RAID (значение block_size в параметрах RAID) в KiB.