首页 > 基础资料 博客日记

Druid连接池的常用配置及默认值

2024-09-13 18:00:42基础资料围观160

文章Druid连接池的常用配置及默认值分享给大家,欢迎收藏Java资料网,专注分享技术知识

Druid 是一个高性能的 JDBC 连接池,提供了多种配置选项来优化连接池的性能和稳定性。以下是 Druid 默认配置参数的详细解释:

  1. initialSize
    定义:连接池初始化时创建的连接数。
    默认值:0
    解释:如果设置为 0,Druid 在启动时不会创建连接。连接池在第一次请求时才会创建连接。设置 initialSize 为一个正值可以在启动时预先创建一定数量的连接,以减少第一次请求时的延迟。
  2. maxActive
    定义:连接池中最大的活动连接数。
    默认值:8
    解释:这是连接池中同时允许的最大连接数。如果池中活动连接数达到 maxActive,进一步的连接请求将被阻塞,直到有连接被释放。设置适当的 maxActive 可以平衡系统负载和资源利用。
  3. minIdle
    定义:连接池中最小的空闲连接数。
    默认值:0
    解释:这是连接池中保持的最小空闲连接数。如果当前空闲连接数低于这个值,连接池会创建新的连接来补充。minIdle 可以用来确保连接池在负载增加时能迅速提供连接。
  4. maxWait
    定义:获取连接时的最大等待时间。
    默认值:30000 ms (30秒)
    解释:如果连接池中没有空闲连接,并且连接池中的活动连接数已经达到 maxActive,请求连接的线程将等待最长 maxWait 毫秒时间。如果在这个时间内没有获取到连接,将抛出 SQLTimeoutException 异常。
  5. testOnBorrow
    定义:从连接池中借用连接时是否进行验证。
    默认值:false
    解释:如果设置为 true,每次从连接池借用连接时,都会执行验证查询(如果设置了 validationQuery)。这有助于确保连接在借用时是有效的,但可能会增加性能开销。
  6. testOnReturn
    定义:将连接返回到连接池时是否进行验证。
    默认值:false
    解释:如果设置为 true,在将连接返回到连接池时,Druid 会执行验证查询以确保连接仍然有效。这个配置项通常不需要设置为 true,因为验证返回连接的性能开销较大。
  7. testWhileIdle
    定义:空闲连接在被检查时是否进行验证。
    默认值:false
    解释:如果设置为 true,Druid 会在空闲连接上执行验证查询(如果设置了 validationQuery),以确保连接在空闲时仍然有效。这有助于检测和清理不再有效的连接。
  8. validationQuery
    定义:验证连接是否有效的 SQL 查询语句。
    默认值:null
    解释:当 testOnBorrow、testOnReturn 或 testWhileIdle 配置为 true 时,Druid 使用此查询来验证连接的有效性。例如,可以使用 SELECT 1 作为验证查询。设置适当的验证查询有助于确保连接在使用时是有效的。
  9. poolPreparedStatements
    定义:是否缓存预编译的 SQL 语句。
    默认值:false
    解释:如果设置为 true,连接池将缓存预编译的 SQL 语句,这可以提高 SQL 执行性能,尤其是当相同的 SQL 语句被频繁执行时。但缓存预编译语句也会占用额外的内存。
  10. connectionErrorRetryAttempts
    定义:连接错误重试次数。
    默认值:0
    解释:在连接失败时,Druid 会尝试重新连接指定次数。设置为 0 表示不进行重试。如果需要在连接错误时自动重试,可以增加此值。
  11. breakAfterAcquireFailure
    定义:获取连接失败时是否中断。
    默认值:false
    解释:如果设置为 true,在获取连接失败时,连接池会立即中断尝试获取连接的操作。设置为 false,连接池会继续尝试获取连接,直到达到 maxWait 超时时间。
  12. timeBetweenEvictionRunsMillis
    定义:空闲连接的检测周期。
    默认值:30000 ms (30秒)
    解释:这是 Druid 定期检查和清理空闲连接的时间间隔。如果空闲连接超过了这个时间间隔,Druid 会进行空闲连接的检测和清理。这有助于保持连接池中的连接健康状态。
  13. minEvictableIdleTimeMillis
    定义:空闲连接的最小可驱逐时间。
    默认值:60000 ms (60秒)
    解释:这是空闲连接在被驱逐之前保持空闲的最小时间。如果一个连接空闲时间超过了这个值,它将被认为是可以驱逐的。这个配置有助于清理长时间未使用的连接。
    总结
    这些配置项共同作用于 Druid 连接池的行为,影响连接池的性能、资源利用率以及对异常情况的处理。在实际应用中,可以根据具体的需求和应用场景调整这些参数,以优化连接池的性能和稳定性。

文章来源:https://blog.csdn.net/wtwcsdn123/article/details/140800013
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云