-2

在阅读了基于 jdbc 连接池的多个文档后,我无法得出一些结论。哪种连接池方法最适合部署在 tomcat 上并连接到 mariadb 的 spring 应用程序。

mariadb 提供了自己的连接池,另一方面,多个外部池库存在 HikariCp、DBCP、tomcat-jdbc 等。

4

1 回答 1

0

MariaDB 的连接池似乎没有任何基准,因此给出答案可能会受到高度评价,而且它还取决于您的用例,因为基准只有在查看正确的数据时才是相关的。

您可以在这里找到https://mariadb.com/fr/node/1829 MariaDB 的论点,用于提供连接池的另一种实现。

以下是一些原因:

  • 可靠性:重用池中的连接时,连接必须像“新创建的”连接。根据连接状态,框架可能会导致执行多个命令来重置状态(一些框架甚至选择跳过其中一些重置以避免一些性能影响)。MariaDB 有一个专用命令来刷新连接状态,允许在一个命令中进行真正的重置(回滚剩余事务、重置事务隔离级别、重置会话变量、删除用户变量、删除所有 PREPARE 语句……)。
  • 性能:池可以在第一次连接时保存一些信息,从而在建立下一个连接时可以更快地创建。
  • 配置简单:解决一些常见的问题,比如一段时间不使用服务器会关闭套接字(wait_timeout 默认为 8h)。池实现避免将连接保持在不良状态

对于其他 CP 实现,有很多基准测试,其中 HikariCP 作为整体更好的选择脱颖而出,现在是 Spring Boot 2 中的默认设置。

最后,它归结为您尝试 MariaDB 的连接池或依赖已经建立的实现。

于 2018-06-06T13:11:38.550 回答