当前位置: 首页 > 知识库问答 >
问题:

Spring Boot连接池配置的最佳实践

孟跃
2023-03-14

我最感兴趣的是以下属性的最优值:

    minimumIdle: ?
    maximumPoolSize: ?
    idleTimeout: ?
    maxLifetime: ?
    connectionTimeout: ?

了解maximumpoolsize的最优值将是非常好的。连接池设置有大量其他选项,希望得到有关它们对应用程序性能影响的任何建议。

共有1个答案

邢卓
2023-03-14

@aliaksei-stadnik 20请求/秒,从总体上看,是相当低的。因此,我不会过度关注池调优;更重要的是关注查询性能。查询次数越少,就可以用较少的连接数处理更多的请求。

我们总是建议将HikariCP作为固定大小的池运行,以获得最佳性能(不设置minimumIdle和idleTimeout)。maximumPoolSize可能是您需要调优的关键数字,正如上面引用的链接所述,它主要取决于数据库服务器拥有的CPU内核的数量。

在平均查询时间为2ms的情况下,即使单个连接也可以处理大约500个请求/秒,而平均查询时间为10ms的情况下,每个连接将产生大约100个请求/秒。但代价是单个请求可能等待一秒钟才能得到服务。在这种情况下,额外的连接将有助于减少请求的排队时间。

 类似资料:
  • 问题内容: 在厌倦了c3p0的恒定锁定之后,我将转向BoneCP作为数据库的备用连接池。我有一个服务器应用程序,每分钟处理大约7,000个项目,需要将这些项目记录到我们的MySQL数据库中。我目前有100个工作线程,并按如下方式设置了我的池: 这些应用程序是否接受这些设置?我问是因为运行一两分钟后,在尝试调用池时出现BoneCP异常。谢谢您的帮助。 这是我在工作线程中用于db调用的代码,它不会在网

  • 问题内容: 我有一个具有相当基本配置的基本Spring JDBC应用程序: 我想介绍一个连接池,在阅读了SO上的多个线程后,我对使用哪个池库感到有些困惑。 C3P0和DBCP似乎在SO方面具有更多的信誉。由于使用的是Oracle,因此我也可以使用驱动程序提供的池数据源。 我了解还有更多可用的库-例如新的Apache Tomcat 7池库。 我真的应该避免使用任何库吗? 我应该在给定的库中使用任何建

  • 问题内容: 目前,我们正在使用带有8gb RAM的4个cpu窗口框,并在同一框上安装了MySQL5.x。我们正在为应用程序使用Weblogic应用程序服务器。我们的应用程序目标是200个并发用户(显然不是同一模块/屏幕)。那么,我们应该在连接池中配置的最佳连接数是多少(最小和最大数)(我们正在使用weblogic AS的连接池机制)? 问题答案: 这个问题有一个非常简单的答案: 连接池中的连接数应

  • 我将使用Ehcache和Springboot。我只是想知道在处理大量请求时,什么会是最佳配置。 在直播期间,我们可能会收到超过30000 req/h。虽然在开发中,我们无法生成此方案。 你能帮我如何计算内存,以创建一个最佳配置,应在Prod中完美工作。 我检查了Postman中的响应大小,在Dev中为3-5 kb,因此我保留了以下配置,但不确定它会有多好。我们的内存大小为2GB(在prod中,我们

  • 本文档旨在汇总和强调用户指南、快速开始文档和示例中的最佳实践。该文档会很活跃并持续更新中。如果你觉得很有用的最佳实践但是本文档中没有包含,欢迎给我们提Pull Request。 通用配置建议 定义配置文件的时候,指定最新的稳定API版本(目前是V1)。 在配置文件push到集群之前应该保存在版本控制系统中。这样当需要的时候能够快速回滚,必要的时候也可以快速的创建集群。 使用YAML格式而不是JSO

  • 本文向大家介绍springboot配置mysql连接的实例代码,包括了springboot配置mysql连接的实例代码的使用技巧和注意事项,需要的朋友参考一下 一:导入pmo.xm配置包 mysql库连接、druid连接池、mybatis组件 配置扫描文件 二:application.yml文件配置 三:编写dao层接口 使用注解:@Mapper 四:编写xml文件sql语句 到此这篇关于spri