开发者社区> 化雨u> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

drds连接池

简介:
+关注继续查看

DRDS连接池
drds是一款基于阿里云rds的数据库中间件,总结一下关于drds连接池的理解
image

从DRDS来看,有两个连接池:
*1、 应用到DRDS的连接池
2、 DRDS到后端RDS的连接池*

应用到DRDS的连接池
目的:提高应用性能,减轻数据库负载
作用:
1、资源复用:连接可以重复利用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,同时增进了系统的平稳性。

2、提高系统响应效率:连接的初始化工作完成后,所有请求可以直接利用现有连接,避免了连接初始化和释放的开销,提高了系统的响应效率。

3、避免连接泄漏:连接池可根据预设的回收策略,强制回收连接,从而避免了连接资源泄漏

某专有云采用的是德鲁伊连接池,这也是官网推荐的连接池类型。配置信息如下图:
image

drds之前出现过节点连接数不均衡问题,某几个节点的压力过大,导致docker连接异常。
解决过程:
1、修改应用到drds的探活语句,之前探活语句查看执行计划发现是打到了drds下面rds的 0 号库上,导致drds的0号库qps压力高。现在修改语句只探活到drds层面,这个主要是针对0号库压力高的问题。
2、升级德鲁伊版本,并且设置固定时间关闭连接的参数phyTimeoutMillis升级后观察连接数还是比较平均的。当然drds也有自己的slb负载均衡,通过相应的算法来将应用连接数分配到各个docker节点上。

DRDS到后端RDS的连接池
DRDS到后端的连接池是指:从每个DRDS节点到后端RDS每个分库的连接池。这个连接池是在drds的docker节点上的。
DRDS后端连接池的大小设置是与后端RDS的最大连接数相关的,参考最大连接处设置公式如下:

最大连接数=RDS实例最大连接数/DRDS节点数/RDS实例分库数(每个RDS上的物理分库数)

改值只是一个参考值

如何修改该值:
1、 通过drds manager中实用功能可以自定义该值,注意appname是show datasources中的schema字段,也可以通过drdsmanager查询该值。
2、 通过drds console进行调整实例连接池信息,会根据后端RDS实例进行调整,并且会reload从drd到rds的连接,这是自动调整的,无法自定义设置。

相关问题:
客户在进行压测的过程导致drds的0号库连接池被打满,具体报错理解为connection $RDS_0号库 full。想要咨询并且修改drds到后端rds的连接数。

针对该问题,首先建议客户需要优化对应的慢SQL,并且0号库rds的实例连接数相比其他的数据库连接数配置要低,连接池更容易因为慢sql而被打满,或者说有没有一些大事务、长事务等占用连接不释放等。

应用到drds和drds到rds的两段连接数是异步的,没有绑定关系的。前端到drds的连接数,drds首先接住这些连接,然后通过自己的转发机制,异步转发到节点上去执行,每个节点都会有一个连接池到rds上分库的连接,这样也不能保证是哪个节点的连接池被打满。这也跟业务相关,假如压测中很多场景是多访问0号库的业务,也会导致0号库出现这个问题,这些都是要去考虑的。

实例连接数是可以增加的,但是不能一味的增加连接数,首先应该从问题根源上确认是否有导致出现连接数打满的问题,需要去优化的要做好优化,最后考虑去升级规格。避免出现一直升级连接数还是被打满的问题。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
配置 pgcat for PolarDB 读写分离连接池
PolarDB 开源数据库支持云原生存算分离分布式架构, 一份存储支持多个计算节点, 目前是一写多读的架构. 内核已经很强大了, 怎么实现业务透明的读写分离, 还缺一个连接池, pgcat是不错的选择. pgcat支持连接池、sharding、读写负载均衡等, 更多功能请参考其官网 https://github.com/levkk/pgcat
0 0
分布式关系型数据库服务DRDS——DRDS 主要解决的问题和DRDS的主要功能
分布式关系型数据库服务DRDS——DRDS 主要解决的问题和DRDS的主要功能,
0 0
MySQL 数据库集群-PXC 方案(二)
MySQL 数据库集群-PXC 方案(二)
0 0
MySQL 数据库集群-PXC 方案(四)
MySQL 数据库集群-PXC 方案(四)
0 0
PolarDB-X 与 X-DB、PolarDB
PolarDB-X与X-DB、PolarDB都是阿里巴巴的数据库产品。那么他们之间有什么样的关系?
0 0
针对数据库连接池到DRDS连接探活的优化
针对数据库连接池到DRDS连接探活的优化
0 0
DRDS和RDS只读实例性能对比测试
我们都知道,对于数据库中基础信息表来说,它的数据变化频率低,数据量小,但由于基础数据本身的特点,大多数相关系统都会对频繁地读取它。即便我们通过对数据调取服务进行服务化包装,通过HSF服务的方式对外暴露,以减少多个系统直接操作数据库带来的问题,但数据本身的读取频率和并发度都非常高,QPS可以轻易达到10万以上。
0 0
阿里云DRDS--MySQL中间件总结分享
mysql作为互联网公司都会用到的数据库,如果在使用过程中出现性能问题,会采用mysql的横向扩展,使用主从复制来提高读性能,要是解决写入问题,需要进行分库分表。本文不会去介绍mysql的高可用,本文主要介绍mysql的访问中间件(DAL)的一些实现方案。
0 0
RDS_DRDS数据库分配原则
DRDS和RDS适用场景和存储方案选型标准:DRDS适用场景: 1、 读写分离:分散读压力,需要考虑主从复制延迟和分配机制(RDS自带读写数据库代理支持读写分离); 2、 分表分库:解决大数据量场景,分散存储和访问压力;DRDS弊端: 1、 分布式事务问题,DRDS原生事务为柔性事务非强一致事务,...
1282 0
复杂 SQL 查询跑不动?DRDS 只读实例来解决!
在实际业务生产环境中,业务应用系统在使用 OLTP 数据库将数据进行存储后,均会存在如后台运营类系统进行统计报表分析等场景的复杂 SQL 查询诉求。
2458 0
+关注
化雨u
智者乐水,仁者乐山
文章
问答
文章排行榜
最热
最新
相关电子书
更多
分布式数据库DRDS全新升级
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载