Перейти к основному содержимому

Файл integrationBus.yml

Этот файл содержит настройки интеграционной шины, применяемые при запуске сервера. Он находится:

C:\ProgramData\1C\1CE\instances\1c-enterprise-esb-with-ide\config\integrationBus.yml

Пример настроек интеграционной шины:

integrationBus:
# порт, на котором будет слушать брокер
port: 6698

# разрешен ли доступ к брокеру по TCP
enabledTCP: true

# хост для подключения к встроенному брокеру
host: 0.0.0.0

# максимальный размер пула потоков потребителей и производителей с внешним вводом/выводом
max-io-client-thread-pool-size: 24

# максимальный размер пула потоков внутренних потребителей и производителей
max-vm-client-thread-pool-size: 4

Параметр port позволяет указать порт для подключения внешнего клиента к брокеру сообщений. Если параметр не задан или использует некорректное значение, будет использоваться значение по умолчанию: 6698.

Параметр enabledTCP позволяет активировать подключение к брокеру по TCP. Если параметр имеет значение false, подключение недоступно.

Параметр host позволяет явно указать IP-адрес сервера. Если указано значение 0.0.0.0, сервер будет доступен по любому своему IP-адресу.

Параметр max-io-client-thread-pool-size определяет максимальный размер пула потоков потребителей и производителей сообщений с внешним вводом/выводом. Задается целым положительным числом. По умолчанию равен 24. Максимально допустимое значение в процессе работы сервера определяется как набольшее из значений: 24 или CPU cores * 2. Если параметр не задан или использует некорректное значение, будет использоваться значение по умолчанию.

Параметр max-vm-client-thread-pool-size определяет максимальный размер пула потоков внутренних потребителей и производителей сообщений. Задается целым положительным числом. По умолчанию равен 4. Максимально допустимое значение в процессе работы сервера определяется как набольшее из значений: 4 или CPU cores. Если параметр не задан или использует некорректное значение, будет использоваться значение по умолчанию.

Значения параметров max-io-client-thread-pool-size и max-vm-client-thread-pool-size влияют на размер пула потоков на уровне процесса интеграции для следующих узлов:

Максимальное значение из вышеуказанных параметров используется для размера пула потоков узлов-маршрутизаторов:

В большинстве случаев значения по умолчанию параметров max-io-client-thread-pool-size и max-vm-client-thread-pool-size являются оптимальными с точки зрения производительности и потребления ресурсов сервера. Изменение этих значений имеет смысл только при значительном увеличении количества участников процесса интеграции (сотни или тысячи участников). Увеличение значений параметров может привести к росту нагрузки на CPU, поэтому предварительно рекомендуется оценить текущую нагрузку (средние и пиковые значения потребления CPU и оперативной памяти) и доступные ресурсы сервера (CPU, RAM). Если скорость обработки сообщений от всех участников недостаточна, а использование CPU остается на допустимом уровне (например, ниже 50 %), можно рассмотреть увеличение размера пула потоков.

важно

Неконтролируемое увеличение размера пулов потоков может привести к падению производительности «1С:Шины».

Ниже представлены результаты тестирования простого процесса интеграции «ОчередьШиныИсточникТрансляторОчередьШиныНазначение» на сервере с процессором AMD Ryzen 9 5900X 12-Core Processor 3.70 GHz и 64 ГБ оперативной памяти. В этом тесте каждый участник параллельно отправляет по 5 сообщений размером 15 КБ. Проверяется получение всех сообщений в «1С:Шине» и их доставка до канала-назначения, без чтения получателем. В таблице представлены время обработки сообщений и потребление CPU для различных комбинаций количества участников и параметра max-vm-client-thread-pool-size:

Количество участниковРазмер пулаВремя обработки сообщенийПиковое значение CPU %Среднее значение CPU %
100400:02.8251811
100800:02.3711811
1001200:01.3641911
500400:13.172711
500800:09.6522911
5001200:07.3443312
1000400:24.6412811
1000800:19.473512
10001200:16.323712