Настройка работы пулов сервиса 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 секунд;
- лимит CPU – 2000m;
- лимит памяти – 512Mi;
- запрошенный объем CPU – 2000m;
- запрошенный объем памяти – 512Mi.
Полученный результат:
| Количество ОМ | Средний размер пула соединений | Средний % CPU |
|---|---|---|
| 500 | 18.7 | 9 |
| 1000 | 35.7 | 15 |
| 1500 | 46 | 20 |
| 2000 | 61.15 | 25 |
Расчет среднего размера пула соединений, зависящего от периода опроса ОМ
Вводные данные:
- длительность измерения – 60 минут;
- размер пула соединений – 100;
- количество ОМ – 500;
- лимит CPU – 2000m;
- лимит памяти – 512Mi;
- запрошенный объем CPU – 2000m;
- запрошенный объем памяти – 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 секунд;
- лимит CPU – 2000m;
- лимит памяти – 512Mi;
- запрошенный объем CPU – 2000m;
- запрошенный объем памяти – 512Mi;
- средний размер пула соединений – 72;
- средний % CPU – 66.
Рекомендуется:
- Установить размер пула соединений равным 150.
- Установить период опроса равным 200.