Каналы и буферы

IPC связывает компоненты через разделяемую память. Файл /opt/alertixnta/config/ipc.json содержит объект channels: каждый канал имеет буферы и именованные подканалы. Увеличение буфера позволяет дольше пережить кратковременное отставание потребителя, но постоянно медленный потребитель всё равно заполнит доступный объём.

Таблица. Поля канала IPC

ПараметрЗначенияНазначение и особенности

buffer.size

Килобайты; целое > 0

Размер одного буфера. Округляется вверх до страницы памяти; на x86-64 удобно задавать кратно 4 КБ.

buffer.count

Целое > 0

Число буферов канала.

subchannels

Объект имя: количество

Количество экземпляров подканала от 1 до 64. 0 приводится к 1, значение выше 64 — к 64; нецелое не принимается.

Таблица. Базовые объёмы IPC

КаналРазмер и число буферовБазовый объём и назначение

log

64 КБ × 512

32 МиБ — журналы компонентов и протоколов.

packets

1024 КБ × 16

16 МиБ — пакеты.

analyser

64 КБ × 128

8 МиБ — задачи анализа.

transfer

64 КБ × 128

8 МиБ — результаты доставки.

sessions

64 КБ × 64

4 МиБ — TCP, UDP и IP-сессии.

statistics

32 КБ × 64

2 МиБ — статистика.

identity

32 КБ × 64

2 МиБ — данные обогащения.

threat

16 КБ × 128

2 МиБ — находки об угрозах.

Сумма приведённых базовых объёмов — 74 МиБ. Планирование RAM также учитывает экземпляры, фактический состав каналов, сессии и рабочие очереди служб. Реальное состояние смотрите в ipc_flows, а не только по значениям шаблона.