zoukankan      html  css  js  c++  java
  • DBCP连接池配置参数

    本文参考自:https://blog.csdn.net/zys_1997/article/details/78107783

    首先,明确连接、活动连接(连接正被使用)、空闲连接的概念

    创建连接

    1、初始化 2、空闲连接低于最小空闲minIdle

    销毁连接

    1、空闲连接数目高于最大空闲 2、活动连接被遗弃

    回收行为

    1、空闲连接回收器(定时执行)2、连接回收器(maxwait后触发)

    --------------------------

    initialSize 初始化连接数,即连接池启动时池子中的连接数目

    maxActive 最大活动连接数,即连接池中可同时连接的最大数目

    minIdle 最小空闲连接,连接池中最少的空闲的连接数,

    低于这个数量时,意味着连接不够用了,会被创建新的连接

    默认为0,该参数越接近maxIdle,性能越好因为连接的创建和销毁,都是需要消耗资源的

    不宜太大,因为在机器很空闲的时候,也会创建低于minidle个数的连接,类似于jvm参数中的Xmn设置。

    maxIdle 最大空闲连接

    超过此参数时空闲连接将被释放,如果设置为负数表示不限制

    默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置

    maxWait 请求连接时,最长的等待时间。

    单位ms,当没有可用连接时,连接池会等待连接释放,超过该时间限制会抛出异常,如果设置-1表示无限等待(默认为无限)

    validationQuery 验证操作时使用得SQL语句

    testWhileIdle 连接空闲时是否被空闲连接回收器(如果有)验证

    如果验证失败,将直接回收

    testOnBorrow 连接被借走(取出使用)时需不需要验证

    默认值是true,即每次从连接池中取出连接时,都需要执行validationQuery中的SQL进行测试,这会导致性能下降7-10倍。

    一般设为false,不要测试

    --------------------

    以下三者配合使用:

    minEvictableIdleTimeMillis 连接空闲了多久会被空闲连接回收器回收

    numTestsPerEvictionRun 空闲连接回收器每次检查多少个连接

    timeBetweenEvictionRunsMills 空闲连接回收器运行周期

    每timeBetweenEvictionRunsMills运行一次空闲连接回收器(独立线程)。

    每次检查numTestsPerEvictionRun个连接,如果连接空闲时间超过minEvictableIdleTimeMillis就先销毁,之后如果小于minIdle数量,就新建连接,维护数量不少于minIdle,过行了新老更替。

    --------------------

    以下三者配合使用:

    removeAbandonedTimeout 连接多久没被使用即视为Abandoned,即连接泄漏

    removeAbandoned 当active连接快到maxActive连接的时候,是否回收无效的连接回收

    备注:maxWait的时间不要设得太长,maxWait如果设置太长那么客户端会等待很久才激发回收事件。

    logAbandoned 回收事件后,是否在log中打印出回收Connection的错误信息,包括在哪个地方用了Connection却忘记关闭了,在调试的时候很有用。 
       

  • 相关阅读:
    Good Bye 2014 B. New Year Permutation(floyd )
    hdu 5147 Sequence II (树状数组 求逆序数)
    POJ 1696 Space Ant (极角排序)
    POJ 2398 Toy Storage (叉积判断点和线段的关系)
    hdu 2897 邂逅明下 (简单巴什博弈)
    poj 1410 Intersection (判断线段与矩形相交 判线段相交)
    HDU 3400 Line belt (三分嵌套)
    Codeforces Round #279 (Div. 2) C. Hacking Cypher (大数取余)
    Codeforces Round #179 (Div. 2) B. Yaroslav and Two Strings (容斥原理)
    hdu 1576 A/B (求逆元)
  • 原文地址:https://www.cnblogs.com/yanze/p/10606622.html
Copyright © 2011-2022 走看看