HikariCP 是一个高性能的 JDBC 连接池,它被设计为快速、轻量级且高效。当您提到 Hikari 连接池在同时接收多个请求时只使用 1 到 2 个连接,这可能是由于以下几个原因:
maximumPoolSize
配置参数决定的,这是连接池中允许的最大连接数。minimumIdle
配置参数决定了连接池中保持的最小空闲连接数。connectionTimeout
配置参数决定了客户端等待连接的最大时间。maximumPoolSize
设置得太小,那么在高并发情况下,连接池可能无法提供足够的连接。connectionTimeout
设置得太短,可能会导致连接请求被快速拒绝。以下是一个简单的 Spring Boot 配置示例,展示了如何配置 HikariCP:
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public HikariDataSource dataSource() {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
dataSource.setUsername("user");
dataSource.setPassword("password");
dataSource.setMaximumPoolSize(20);
dataSource.setMinimumIdle(10);
dataSource.setConnectionTimeout(30000);
return dataSource;
}
}
通过以上配置和调整,您应该能够更好地处理高并发情况下的连接需求。
领取专属 10元无门槛券
手把手带您无忧上云