#1
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.
#ads

image quote pre code