meta data for this page
  •  

2022-09-30 Р-Хранилище, кэширование данных, восстановление

На кануне, во время тестирования по одной из методик с использованием pgbench я заметил нетипичное поведение ПСХД Р-платформа.

  • Во первых умерли контейнеры управления. Точнее не умерли, но перешли в режим Pentium MMX. Страницы открывались по 10 минут, периодически терялись введенные данные.
  • Анализ с использованием утилиты nmon показал что дисковая подсистема занята переносом данных с SSD дисков на жесткие диски.
  • Я точно не замерял, но по ощущением после снятия нагрузки система висела еще минут 20.

Не смотрите на разделы диска, это задвоение.

  • sd[b,c,d] - это диски кэша;
  • sd[e,f,g,h] - это диски для данных;

Точно такая же картина сохраняется еще длительное время после выключения нагрузки.

Для решения данной проблемы я предпринял следующие меры:

  • Установил максимальный приоритет ввода-вывода №6 для служебных контейнеров.
  • Установил минимальный приоритет №0 для нагрузки, и ограничил её в 5 000 IOPS

Расстановка приоритетов сама по себе ничего не решила, поэтому единственны выход который я нашел - это ограничение по IOPS.

В конечном счете я решил оставить нагрузку на ночь и проверить приведет ли это к падению системы, но об этом завтра.

Расчет количества SSD на узел

В руководстве указана процедура расчета необходимого объема и количества SSD дисков:

SSD_SSWS * 0.8 / HDD_SSWS
  • SSD_SSWS устоявшаяся скорость последовательной записи SSD;
  • HDD_SSWS устоявшаяся скорость последовательной записи HDD;
  • 0.8 - 20% запас на контрольные суммы, метаданные и служебные операции диска;

Таким образом в моем случае: Одного SSD достаточно для кэширования 2-3 жестких дисков. То есть на узел из четырех дисков мне будет достаточно 1-2 SSD.

  • SSD_SSWS = 533 МБ/сек 1)
  • HDD_SSWS = 270 - 117 МБ/сек2)
1)
Я поленился тестировать и взял инфу из Nix.ru