У меня приложение Springboot, развернутое в pods (Kubernetes - 2 pods / jvm). Я использую RDS MySQL db и Apache DBCP для пула соединений со следующей конфигурацией -
min.size=20
max.size=40
max.idle=5
min.idle=2
eviction.runs.gap=300000
min.evictableidle.time=600000
Когда я перезагружал базу данных (занимает около 10 сес c), заметил огромный всплеск соединение (от ~ 50 до 2500 соединений). Начиная с show processlist
, я также заметил, что все соединения были в состоянии {sleep}.
Вопросы:
1) Как мы можем сделать больше дБ соединений, даже если размер пула составляет максимум 40 соединений на jvm?
2) Почему мы видим всплеск соединения при перезагрузке?
MySql Конфигурации:
wait_timeout - по умолчанию (8 часов ) (Количество секунд, в течение которых сервер ожидает активности на неинтерактивном TCP / IP или UNIX Файловом соединении, прежде чем его закрывать.)
interactive_timeout - номер по умолчанию (8 часов) секунд сервер ожидает активности на интерактивном соединении, прежде чем закрывать его.