暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a ODBC 连接池使用方法教学

三金先生 2023-05-29
694

设置获取连接时使用的负载均衡策略

GBase 8a ODBC 连接池提供了两种负载均衡策略,分别是轮询和最小 BUSY 连接数优先。使用轮询策略时设置 POOL_LBS=0,使用最小 BUSY 连接数优先策略 时设置 POOL_LBS=1。默认时使用轮询策略。如下所示: "DRIVER=GBase 8a ODBC 8.3 Driver;UID=gbase;PWD=gbase20110531;" "SERVER={192.168.111.96;192.168.5.212;192.168.7.174;192.168.7.17 3};" "GCLUSTER_ID=gcluster; POOL_MAX_ACTIVE_SIZE=80;POOL_MAX_IDLE=60;" "POOL_LBS=1;"


借还连接时测试连接可用性

从连接池中借出连接时对连接进行测试进一步保证了借出连接的效性,归 还连接时对连接进行测试时保证了无效的连接不会进入到连接池中。借出连接 时检测需要设置 POOL_TEST_BORROW=1,归还连接时检测需要设置 POOL_TEST_RETURN=1。如下所示: "DRIVER=GBase 8a ODBC 8.3 Driver;UID=gbase;PWD=gbase20110531;" "SERVER={192.168.111.96;192.168.5.212;192.168.7.174;192.168.7.17 3};" "GCLUSTER_ID=gcluster; POOL_MAX_ACTIVE_SIZE=80;POOL_MAX_IDLE=60;" " POOL_TEST_BORROW=1; POOL_TEST_RETURN=1;"


清理无效连接

如果要连接池定期清理连接池中无效的连接,那么就要设置 POOL_MANAGER=1。清理无效连接功能不仅定期清理连接池中无效的连接,还定 期检测 GBase 8a 各节点的状态。如果 GBase 8a 有节点恢复可用,GBase 8a ODBC 连接池将会缓存连接到该节点的 ODBC 连接。同时通过设置 POOL_TEST_INVALID_CONN_PERIOD 的值可以设置清理无效连接的周期。该周期默 认值为 20 秒。如下所示: "DRIVER=GBase 8a ODBC 8.3 Driver;UID=gbase;PWD=gbase20110531;" "SERVER={192.168.111.96;192.168.5.212;192.168.7.174;192.168.7.17 3};" "GCLUSTER_ID=gcluster; POOL_MAX_ACTIVE_SIZE=80;POOL_MAX_IDLE=60;" " POOL_MANAGER=1;POOL_TEST_INVALID_CONN_PERIOD=30;"


维持空闲连接数

如果要使连接池中的空闲连接数维持在一范围内,那么可以通过设置 POOL_KEEP_IDLE=1 打开连接池的空闲连接数维持功能,并设置 POOL_MIN_IDLE 的值来实现。POOL_MIN_IDLE 的值小于 POOL_MAX_IDLE 的值。这样当连接池发现 空闲连接数小于 POOL_MIN_IDLE 的值时就会创建新的空闲连接,以满足当前空 闲连接数大于等于 POOL_MIN_IDLE 的值。打开维持空闲连接数功能必须同时设 置 POOL_MANAGER=1。如下所示: "DRIVER=GBase 8a ODBC 8.3 Driver;UID=gbase;PWD=gbase20110531;" "SERVER={192.168.111.96;192.168.5.212;192.168.7.174;192.168.7.17 3};" "GCLUSTER_ID=gcluster; POOL_MAX_ACTIVE_SIZE=80;POOL_MAX_IDLE=60;" " POOL_MANAGER=1;POOL_TEST_INVALID_CONN_PERIOD=30;"POOL_KEEP_IDLE=1; POOL_MIN_IDLE=30;"


清理过期连接

用户可以给 GBase 8a ODBC 连接池中的连接设置有效期,并且当连接池发 现有连接过期时,会将该连接释放掉。这种功能可以通过设置 POOL_CLEAR_OVERDUE,POOL_USED_LIFE 和 POOL_IDLE_LIFE 来打开。如果 POOL_USED_LIFE 的值为 0,那么已借出的连接不会过期,POOL_USED_LIFE 默认 值为 0;如果 POOL_IDLE_LIFE 的值为 0,那么空闲连接不会过期,POOL_IDLE_LIFE 默认值为 0。打开清理过期连接功能必须同时设置 POOL_MANAGER=1 如下所示: "DRIVER=GBase 8a ODBC 8.3 Driver;UID=gbase;PWD=gbase20110531;" "SERVER={192.168.111.96;192.168.5.212;192.168.7.174;192.168.7.17 3};" "GCLUSTER_ID=gcluster; POOL_MAX_ACTIVE_SIZE=80;POOL_MAX_IDLE=60;" " POOL_MANAGER=1;POOL_TEST_INVALID_CONN_PERIOD=30;" " POOL_CLEAR_OVERDUE=1; POOL_USED_LIFE=360000; POOL_IDLE_LIFE=36000;" 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论