gpt4 book ai didi

rdbms - 你如何设置你的连接池?

转载 作者:行者123 更新时间:2023-12-04 03:18:15 26 4
gpt4 key购买 nike

在以下方面设置游泳池的最佳方法是什么: -

  • 你什么时候创建连接?
  • 你什么时候关闭连接,你会关闭所有连接吗?
  • 你测试连接还是不错的。何时以及如何?
  • 您如何确定最大连接数的好数字?
  • 你有什么样的监控来确保池的用户表现良好?你能阻止一段糟糕的代码带走所有东西吗?
  • 您是否编写了自己的池,或使用了第三方库?

  • 我相信这是一个不可知论的问题,但欢迎对特定数据库/语言的“功能”发表评论。例如,在某些数据库上连接可能比其他数据库更慢或更昂贵。

    澄清一下,我不打算从头开始编写一个池,这个问题更多的是关于如何配置一个现有的池化库。

    最佳答案

    当它只是一种设计模式而不是通用库时,我用 Java 为数据库编写了一个连接池。现在我使用 Tomcat 中内置的那个。

    我用一个线程来监控池的几个方面和几个参数来控制它的行为......

  • minimumInPool="3"... 前三个是在启动时创建的。游泳池永远不允许低于三。
  • maximumIdleTimeBeforeRemoval="60"... 如果一个连接空闲一个小时,则删除它并创建一个新连接。空闲时间可能意味着池中只有最少三个。
  • maximumInUseTimeBeforeRemoval="30"... 如果给定的连接已 checkout 超过 30 分钟,则可能有问题。召回它,并终止连接。
  • maximumTimeBeforeRemoval="60"... 如果超过 60 分钟,请将其删除。
  • maximumUsageBeforeRemoval="1000"... 如果已 checkout 超过 1000 次,请将其删除。
  • monitorInterval="15"... 每 15 分钟检查一次上述参数。

  • 几年来,这对我很有帮助。在一次狂野的窥视中,我见过的池中最高的是 151 个连接。通常游泳池在大量使用期间大约有十几个,并且在清晨空闲到最少三个。

    我使用 Oracle 的 JDBC 瘦驱动程序并连接到 Oracle 数据库。

    关于rdbms - 你如何设置你的连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271188/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com