Настройка работы пулов сервиса inform#

В разделе описан подбор параметров конфигурации работы параллельного опроса ОМ в зависимости от нагрузки на сервис inform.

Чтобы сервис inform вовремя опрашивал все ОМ необходимо устанавливать параметры конфигурации сервиса в зависимости от нагрузки на сервис.

Под нагрузкой понимается совокупность следующих значений:

  • ресурсы стенда;

  • количество ОМ;

  • размер пула соединений;

  • период опроса ОМ.

Параметрами конфигурации сервиса inform регулируется два последних пункта: размер пула соединений и период опроса ОМ.

Описание параметров конфигурации:

  • pool_size - размер пула соединений. Характеризует максимальное количество ОМ, которые могут опрашиваться сервисом inform за одну единицу времени;

  • asset_poll_period_sec - период опроса ОМ.

Алгоритм работы параллельного опроса с помощью пула соединений#

Параллельный опрос устроен следующим образом: используются не все соединения из пула соединений, а только то их количество, с помощью которого можно опросить все ОМ вовремя.

Оценка способности inform справляться с нагрузкой#

Сервис inform справляется с нагрузкой, если успевает опрашивать ОМ вовремя.

Сервис inform не успевает опрашивать ОМ вовремя, если:

  • В логе сервиса присутствует большое количество строк с уровнем WARNING и текстом - (asset_id=[asset_id]): poll late for [N] seconds.

  • Количество выполненных вовремя опросов небольшое и не увеличивается со временем – метрика inform_poll_dispatcher_general_stat_poll_in_time_count.

  • Количество выполненных с опозданием опросов большое и увеличивается со временем – метрика inform_poll_dispatcher_general_stat_poll_late_count.

В случае если сервис inform не справляется с нагрузкой необходимо выполнить одно или несколько действий:

  • увеличить размер пула соединений;

  • увеличить период опроса ОМ;

  • увеличить ресурсы стенда.

Зависимость между размером пула соединений и потреблением CPU при различных значениях количества ОМ и периода опроса ОМ#

Расчет среднего размер пула соединений, зависящего от количества ОМ#

Вводные данные:

  • длительность измерения - 60 минут;

  • размер пула соединений - 100;

  • период опроса - 200 секунд;

  • limits cpu - 2000m;

  • limits memory - 512Mi;

  • requests cpu - 2000m;

  • requests memory - 512Mi.

Полученный результат:

Количество ОМ

Средний размер пула соединений

Средний % CPU

500

18.7

9

1000

35.7

15

1500

46

20

2000

61.15

25

Расчет среднего размер пула соединений, зависящего от периода опроса ОМ#

Вводные данные:

  • длительность измерения - 60 минут;

  • размер пула соединений - 100;

  • количество ОМ - 500;

  • limits CPU - 2000m;

  • limits memory - 512Mi;

  • requests CPU - 2000m;

  • requests memory - 512Mi.

Полученный результат:

Период опроса ОМ

Средний размер пула соединений

Средний % CPU

200

18.7

8.5

150

22.1

10.5

100

29.6

14

50

44.6

24

Анализ полученных данных#

Согласно полученным результатам видим, что:

  1. С увеличением количества ОМ в два раза средний размер пула соединений увеличивается приблизительно в два раза.

  2. С уменьшением периода опроса ОМ в два раза средний размер пула соединений увеличивается приблизительно в полтора раза.

  3. Существует прямая связь между потреблением CPU и размером пула соединений.

Рекомендации по настройке и использованию#

Если за основу взять замеры работы сервиса inform вместе с дополнительной нагрузкой на сервис:

  • длительность измерения - 20 часов;

  • размер пула соединений - 100;

  • период опроса - 200 секунд;

  • limits CPU - 2000m;

  • limits memory - 512Mi;

  • requests CPU - 2000m;

  • requests memory - 512Mi;

  • средний размер пула соединений – 72;

  • средний % CPU – 66.

Рекомендуется:

  1. Установить размер пула соединений равным 150.

  2. Установить период опроса равным 200.