Sobes.tech
Senior

Pool Hikari avec 10 connexions, sous charge, nous avons reçu 'connections not available'. Que faire?

sobes.tech IA

Réponse de l'IA

L'erreur "connections not available" dans HikariCP avec un pool de 10 connexions signifie que toutes les connexions disponibles sont occupées et que les nouvelles requêtes ne peuvent pas obtenir de connexion du pool.

Que faire :

  • Augmenter la taille du pool (par exemple, augmenter maxPoolSize), si la charge nécessite réellement plus de connexions.
  • Vérifier que les connexions sont correctement fermées (appel de la méthode close() sur la Connection), sinon elles restent occupées.
  • Analyser la durée de vie et le délai d'attente des connexions (connectionTimeout), il peut être nécessaire d'augmenter le timeout.
  • Optimiser les requêtes et transactions pour qu'elles occupent les connexions le moins longtemps possible.
  • Activer la journalisation de HikariCP pour détecter les fuites de connexions (leakDetectionThreshold).

Exemple de configuration pour augmenter le pool :

HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // augmenter le pool à 20
HikariDataSource ds = new HikariDataSource(config);

Il est important de s'assurer que la base de données et l'infrastructure peuvent supporter un nombre accru de connexions.