Sobes.tech
Senior

Ҳикари пул бо 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);

Муҳим аст, ки боварӣ ҳосил кунед, ки базаи додаҳо ва инфрасохтура метавонанд шумораи зиёдтарини пайвастагиҳоро дастгирӣ кунанд.