java - 根据处理器和内存服务器设置 maximumPoolSize 和 minimumIdle
问题描述
我有 4 个 JVM 应用程序运行到 4 个服务器中。(一个实例/服务器)
我的 Oracle 数据库仅针对 300 个进程(最大)打开。
默认池连接大小为 10(因为我之前没有更改);由于对我的 Oracle DB 的许多请求,我遇到了异常,例如
“无法获取 JDBC 连接”
HikariPool-1 - 连接不可用,请求在 30000 毫秒后超时
IO 错误:从读取调用中得到减一
我可以看到这个通知,但我找不到参数的最佳配置: 线程池的大小需要考虑到硬件处理器内核的总数
我的服务器基于此配置(相同配置 *4):
内存大小:grep MemTotal /proc/meminfo 24Go
处理器编号:cat /proc/cpuinfo 6
我想在我的 Spring Boot 应用程序中增加这两个参数以避免异常并且不暴露内存。
# HikariCP settings
spring.datasource.hikari.minimumIdle= **
spring.datasource.hikari.maximumPoolSize= **
这些参数是什么?