Senior
Hikari Pool con 10 conexiones, bajo carga recibimos 'connections not available'. ¿Qué hacer?
sobes.tech AI
Respuesta de la IA
El error "connections not available" en HikariCP con un pool de 10 conexiones significa que todas las conexiones disponibles están ocupadas y las nuevas solicitudes no pueden obtener una conexión del pool.
Qué hacer:
- Aumentar el tamaño del pool (por ejemplo, aumentar maxPoolSize), si la carga realmente requiere más conexiones.
- Verificar que las conexiones se cierran correctamente (se llama al método close() en la Connection), de lo contrario permanecen ocupadas.
- Analizar el tiempo de vida y el tiempo de espera de las conexiones (connectionTimeout), quizás sea necesario aumentar el tiempo de espera.
- Optimizar las consultas y transacciones para que ocupen las conexiones el menor tiempo posible.
- Activar el registro de logs en HikariCP para detectar fugas de conexiones (leakDetectionThreshold).
Ejemplo de configuración para aumentar el tamaño del pool:
HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // aumentar el pool a 20
HikariDataSource ds = new HikariDataSource(config);
Es importante asegurarse de que la base de datos y la infraestructura puedan soportar un mayor número de conexiones.