Sobes.tech
Senior

Hikari Pool с 10 връзки, под натоварване получаваме 'connections not available'. Какво да правя?

sobes.tech AI

Отговор от AI

Грешката "connections not available" в HikariCP с пул от 10 връзки означава, че всички налични връзки са заети и новите заявки не могат да получат връзка от пула.

Какво да направите:

  • Увеличете размера на пула (например, увеличете maxPoolSize), ако натоварването наистина изисква повече връзки.
  • Проверете дали връзките се затварят правилно (извикване на метода close() на Connection), иначе остават заети.
  • Анализирайте времето на живот и времето за изчакване на връзките (connectionTimeout), може би трябва да увеличите таймаута.
  • Оптимизирайте заявките и транзакциите, така че да заемат връзките възможно най-кратко време.
  • Включете логването на HikariCP, за да откриете течове на връзки (leakDetectionThreshold).

Пример за настройка за увеличаване на пула:

HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // увеличете пула до 20
HikariDataSource ds = new HikariDataSource(config);

Важно е да се уверите, че базата данни и инфраструктурата могат да издържат увеличения брой връзки.