Настройка работы пулов сервиса 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 |
Анализ полученных данных#
Согласно полученным результатам видим, что:
С увеличением количества ОМ в два раза средний размер пула соединений увеличивается приблизительно в два раза.
С уменьшением периода опроса ОМ в два раза средний размер пула соединений увеличивается приблизительно в полтора раза.
Существует прямая связь между потреблением CPU и размером пула соединений.
Рекомендации по настройке и использованию#
Если за основу взять замеры работы сервиса inform вместе с дополнительной нагрузкой на сервис:
длительность измерения - 20 часов;
размер пула соединений - 100;
период опроса - 200 секунд;
limits CPU - 2000m;
limits memory - 512Mi;
requests CPU - 2000m;
requests memory - 512Mi;
средний размер пула соединений – 72;
средний % CPU – 66.
Рекомендуется:
Установить размер пула соединений равным 150.
Установить период опроса равным 200.