Efficient connection management improves performance when using ClickHouse with Spring Boot. Connection pooling is the key.
1. Add HikariCP for Connection Pooling
Spring Boot uses
HikariCP as the default connection pool. Configure it in
application.properties:
spring.datasource.url=jdbc:clickhouse://localhost:8123/default
spring.datasource.username=default
spring.datasource.password=
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.max-lifetime=1800000
This ensures connections are reused instead of created repeatedly.
2. Monitor Connection Usage
Enable HikariCP metrics in Spring Boot Actuator:
management.endpoints.web.exposure.include=metrics
You can monitor pool size, idle connections, and active connections.
3. Use Connection Validation
Add validation to avoid stale connections:
spring.datasource.hikari.validation-timeout=5000
This ensures only healthy connections are used.
4. Best Practices
- Keep pool size relative to CPU cores and expected queries.
- Close unused connections properly.
- Monitor metrics regularly.
image quote pre code