Настройка работы пулов сервиса 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.