标签:postgresql spring connection-pooling datasource hikaricp
我在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服务器,不仅从硬件角度来看,还有你可能选择的操作系统
标签:postgresql,spring,connection-pooling,datasource,hikaricp 来源: https://codeday.me/bug/20190519/1134646.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。