Производительность и тюнинг¶
Разделение ответственности, рычаги настройки и точки измерения пропускной способности.
Страница в активной разработке
Конкретные цифры пропускной способности и latency будут добавлены по мере накопления замеров в продуктивных внедрениях. Если у вас есть свои данные — присылайте, мы добавим со ссылкой.
Архитектурные рычаги¶
Пропускная способность адаптера упирается в три фактора:
- Регистрация в очереди — скорость записи в
РегистрСведений.кфкИсходящиеСообщенияпри срабатывании подписок. - Обработка очереди — скорость сериализации и отправки брокеру (исходящие) либо чтения и десериализации (входящие).
- Сеть и брокер — latency до Kafka, размер батча, настройки acks.
Параметры диспетчера¶
Основные рычаги настраиваются в диспетчерах задач продюсера / консьюмера (Фоновые и регламентные задания).
| Параметр | Эффект | Когда увеличивать |
|---|---|---|
| Подпотоки обработки | Параллельность сериализации/десериализации | Рост очереди при CPU idle на сервере 1С |
| Подпотоки транспорта | Параллельность отправки в брокер | Медленная сеть до брокера, высокий latency Kafka |
| Потоковый режим | Непрерывная работа без пауз между итерациями регламентного задания | Постоянный поток сообщений |
Дополнительные рычаги¶
- Несколько диспетчеров на один топик — горизонтальное масштабирование по подмножествам данных.
- Разделение топиков — разные темы под разные скорости обмена.
- Пакетный режим регистрации — передача массива в
ПоместитьВОчередьИсходящих()вместо поэлементной регистрации.
Точки измерения¶
Чтобы понимать, какой рычаг двигать, измеряйте:
- Лаг регистрации — интервал между изменением объекта и появлением записи в очереди.
- Лаг отправки — время от записи в очередь до статуса «Отправлено».
- Лаг доставки в потребителя — end-to-end: от записи в 1С-отправителе до записи в 1С-получателе.
- Throughput — сообщений/сек по топику (брать из кода мониторинга Kafka или из
кфкИсходящиеСообщенияза период).
Дашборды — через внешнее логирование в ELK/Loki. Базовые запросы — мониторинг.
Замеры (будут добавлены)¶
Типовые проблемы производительности¶
- Очередь постоянно растёт.
- Медленная сериализация в обработчике продюсера — профилировать и выносить тяжёлые выборки за пределы обработчика.
- Частые блокировки на регистре исходящих — рассматривать разделение на несколько регистров/топиков.
Смотрите также¶
- Фоновые и регламентные задания — где крутить параметры.
- Мониторинг очередей — как видеть текущую нагрузку.
- Типовые проблемы.