首页 > 解决方案 > 根据处理器和内存服务器设置 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= **

这些参数是什么?

标签: javaoraclespring-bootjvm

解决方案


推荐阅读