spring – HikariConfig和maxPoolSize

我在Spring服务器上使用HikariConfig作为postgres数据库的DataSource.
我应该设置maxPoolSize吗? (认值为-1)
我可以使用多少泳池大小?
是否存在与硬件的依赖关系?

解决方法:

maxPoolSize是一个指标,作为应用程序的限制.您应该根据流量/应用程序的开销/硬件来计算. F.E您可以将限制设置为10000个连接,这并不意味着它将按预期运行.实际上这会受到你的硬件的影响,因为如果你的机器包含一个核心,那么100000个活动连接只会拉伸java应用程序和postgres,因为操作系统将很难处理所有这些I / O调用.更糟糕的是,如果数据库Java应用程序位于同一网络中的不同计算机上,则还会产生网络开销.

实际上优化性能的是minimumIdle属性以及idleTimeout,因此如果您为这些属性计算了适当的值,那么它应该永远不会达到maxConnection值,并且由于锁等待或资源不足而导致开销.这里唯一不好的是,如果您的应用程序设计错误(持有的连接时间超过了需要,没有正确提交事务,不使用批处理作业进行长时间操作),那么它将影响用户的体验,但这是另一个问题.

一世)

Should I set up maxPoolSize? (default value is -1)

您应该将其设置为全局限制,以便您的应用程序和数据库都可以维护和健康.认值不是-1但是10.更多细节here

II)

How much pool size can i use?

这取决于您的应用程序和您的基础架构.获得这些数字的唯一方法是通过对大多数拉伸用例的综合测试.
关于postgres调整的一些信息here

三)

Are there any dependencies with hardware?

是的,对于JVM和Postgres服务器,不仅从硬件角度来看,还有你可能选择的操作系统

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...