Мы используем приемники jdbc (apache flink), с помощью которых мы достигаем максимального количества сеансов базы данных, особенно когда мы увеличиваем параллелизм.
Наши тесты показали, что если мы увеличим параллелизм по умолчанию, установив для свойства Parallelism.default значение больше 1, у нас будет больше неактивных сеансов в базе данных. Когда мы увеличим его еще больше, мы придем к моменту, когда увидим некоторое исключение, поскольку соединения jdbc больше не могут устанавливаться.
Выполняя наши тесты с различными свойствами Parallelism.default, мы столкнулись со следующим поведением:
application.parallelism.default = 1 active session / inactive session -> 64/35
application.parallelism.default = 2 active session / inactive session -> 66/70
application.parallelism.default = 3 active session / inactive session -> 63/105
application.parallelism.default = 4 active session / inactive session -> 64/140
application.parallelism.default = 5 active session / inactive session -> 64/175
application.parallelism.default = 6 active session / inactive session -> 64/210
application.parallelism.default = 7 active session / inactive session -> 64/245
application.parallelism.default = 8 active session / inactive session -> 64/280
Есть ли шанс ограничить сеанс, используемый приемниками jdbc?
Мы хотим знать, есть ли веская причина держать под контролем неактивные сеансы, используемые нашими приемниками jdbc.
Вместо изменения параллелизма по умолчанию просто установите параллелизм вашего приемника JDBC равным 1. Таким образом, остальная часть рабочего процесса может выполняться с более высоким параллелизмом (при необходимости).