微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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服务器,不仅从硬件角度来看,还有你可能选择的操作系统

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐