Senior
Hikari Pool com 10 conexões, sob carga, recebemos 'connections not available'. O que fazer?
sobes.tech IA
Resposta da IA
O erro "connections not available" no HikariCP com um pool de 10 conexões significa que todas as conexões disponíveis estão ocupadas e novas solicitações não podem obter uma conexão do pool.
O que fazer:
- Aumentar o tamanho do pool (por exemplo, aumentar maxPoolSize), se a carga realmente exigir mais conexões.
- Verificar se as conexões estão sendo fechadas corretamente (chamando o método close() na Connection), caso contrário, permanecem ocupadas.
- Analisar o tempo de vida e o tempo de espera das conexões (connectionTimeout), talvez seja necessário aumentar o timeout.
- Otimizar as consultas e transações para que ocupem as conexões por menos tempo.
- Ativar o registro de logs do HikariCP para identificar vazamentos de conexões (leakDetectionThreshold).
Exemplo de configuração para aumentar o pool:
HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // aumentar o pool para 20
HikariDataSource ds = new HikariDataSource(config);
É importante garantir que o banco de dados e a infraestrutura possam suportar um número maior de conexões.