如何通过JDBCDruid连接池连接AnalyticDBMySQL

您所在的位置:网站首页 jdbc连接池配置步骤 如何通过JDBCDruid连接池连接AnalyticDBMySQL

如何通过JDBCDruid连接池连接AnalyticDBMySQL

2023-08-12 01:28| 来源: 网络整理| 查看: 265

本文介绍如何通过JDBC Druid连接池连接云原生数据仓库AnalyticDB MySQL版。

注意事项仅支持Druid 1.1.16以上的版本。使用Druid连接池连接AnalyticDB MySQL时,建议配置,可以复用连接和避免短连接。AnalyticDB MySQL前端接入节点使用SLB做负载均衡,客户端连接前端节点。为了将客户端请求较为均匀地发送到各个前端节点,建议连接池里有稍多一些连接,且连接保持的时间不宜太长。根据业务情况合理调整连接池配置,并确保配置生效。您可以在程序中通过DruidDataSource#getStatData()和DruidDataSource#dump()方法定期获取生效的配置与连接池的信息,并在日志中查看、核对相关配置信息。执行查询前从连接池获取连接,执行完查询后要及时调用conn.close()将连接返回到连接池中。再次使用时,请从连接池中获取新连接,避免长时间使用一个连接导致Druid无法及时检查到连接失效。复杂网络情况下,当遇到网关性能达到瓶颈、网络链路长、网络抖动、重传率或丢包率高等情形,可能会导致连接中断。在确保连接池合理配置都生效的情况下,如果仍然有连接中断的情况,建议业务代码侧通过重试进行优化。配置Druid连接池 生效ValidationQueryDruid新版本默认使用mysqlPing代替执行ValidationQuery进行探活,如果需要执行ValidationQuery可以进行如下设置:... druidDataSource.init(); Properties properties = new Properties(); properties.setProperty("druid.mysql.usePingMethod", "false"); druidDataSource.setConnectProperties(properties);获取连接池信息使用dataSource.dump()可以获取连接池和连接的基本信息。{ CreateTime:"2022-06-01 15:28:10", # 连接池创建时间 ActiveCount:0, # 从连接池取出来在用的连接数 PoolingCount:2, # 在连接池中,未取出去使用的连接数 CreateCount:2, # 创建过的连接数,连接销毁后重新创建会增加该数量 DestroyCount:0, # 销毁过的连接数,连接异常或到期销毁会增加该数量 CloseCount:4, # 调用conn.close()将连接还到连接池的次数 ConnectCount:4, # 调用dataSource.getConnection()获取连接的次数 Connections:[ { ID:525571, # 连接ID ConnectTime:"2022-06-01 15:28:11", # 连接创建时间 UseCount:0, # 连接被获取使用的次数,所有UseCount加起来等于上面的ConnectCount LastActiveTime:"2022-06-01 15:28:11" # 连接最后被取出来使用的时间,未使用等于ConnectTime }, {ID:1263877414, ConnectTime:"2022-06-01 15:28:11", UseCount:4, LastActiveTime:"2022-06-01 15:28:11"} ] }获取连接池生效配置使用dataSource.getStatData()可以获取连接池生效的配置。{ Identity=85777802, Name=DataSource-85777802, DbType=mysql, DriverClassName=com.mysql.jdbc.Driver, URL=jdbc:mysql://host:port/db_name, UserName=haicen, FilterClassNames=[], WaitThreadCount=0, NotEmptyWaitCount=0, NotEmptyWaitMillis=0, PoolingCount=2, PoolingPeak=2, PoolingPeakTime=Wed Jun 01 16:08:15 CST 2022, ActiveCount=0, ActivePeak=1, ActivePeakTime=Wed Jun 01 16:08:15 CST 2022, InitialSize=1, MinIdle=2, MaxActive=3, QueryTimeout=0, TransactionQueryTimeout=0, LoginTimeout=0, ValidConnectionCheckerClassName=com.alibaba.druid.pool.vendor.MySqlValidConnectionChecker, ExceptionSorterClassName=com.alibaba.druid.pool.vendor.MySqlExceptionSorter, TestOnBorrow=true, TestOnReturn=true, TestWhileIdle=true, DefaultAutoCommit=true, DefaultReadOnly=null, DefaultTransactionIsolation=null, LogicConnectCount=14, LogicCloseCount=14, LogicConnectErrorCount=0, PhysicalConnectCount=6, PhysicalCloseCount=4, PhysicalConnectErrorCount=0, DiscardCount=0, ExecuteCount=14, ExecuteUpdateCount=0, ExecuteQueryCount=14, ExecuteBatchCount=0, ErrorCount=0, CommitCount=0, RollbackCount=0, PSCacheAccessCount=0, PSCacheHitCount=0, PSCacheMissCount=0, StartTransactionCount=0, TransactionHistogram=[ J@6a472554, ConnectionHoldTimeHistogram=[ J@7ff2a664, RemoveAbandoned=true, ClobOpenCount=0, BlobOpenCount=0, KeepAliveCheckCount=332, KeepAlive=true, FailFast=false, MaxWait=6000, MaxWaitThreadCount=-1, PoolPreparedStatements=false, MaxPoolPreparedStatementPerConnectionSize=10, MinEvictableIdleTimeMillis=600000, MaxEvictableIdleTimeMillis=900000, LogDifferentThread=true, RecycleErrorCount=0, PreparedStatementOpenCount=0, PreparedStatementClosedCount=0, UseUnfairLock=false, InitGlobalVariants=false, InitVariants=false }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3