该文档中的FAQ主要整理自DBProxy用户QQ交流群(367199679)大家的交流内容,将共性的问题进行整理、积累,方便大家回顾和学习。持续更新中...
DBProxy中,将可复用的连接放回连接池,在连接池中,是按照用户名来管理连接的。如果user1 新建立的连接,DBPRoxy会去分给它的backend的连接池中,找到user1的连接,如果有,则分配,没有则新建立连接。
示意图可以参考 开发手册最后的那张图
DBProxy中连接池中连接的数量目前还没有限制;目前也没有针对某一用户来统计连接数量,针对某一用户连接数来限制;DBProxy只统计了连接DBProxy的总连接,不区分用户,根据统计的总连接,可以动态设置最大允许连接DBproxy的连接数量。
目前DBProxy 只在CentOS6.5上进行过适配。
需要的环境和依赖库参考快速入门手册
目前开源的DBProxy与美团点评内部大规模生产环境使用的版本一致。
我们没有使用过MyCat产品的经验,所以不好比较,根据网上资料,可能主要功能类似,各有个特点吧。
目前测试过mysql5.5 和 mysql5.6。
**需要注意:**DBproxy 配置文件中需要配置下后端mysql的版本,默认5.5 。例如,使用mysql是5.6时候,配置文件中配置参数 mysql-version=5.6。
DBProxy 完全开源了,美团点评 目前内部使用的版本和github上的版本一致。我们后续的所有维护、开发都会直接在github上进行。
是的。
DBProxy消耗资源不大,性能影响不大。
没有问题,美团点评也使用lvs。
目前开源的版本只支持分表,分库分表版本在内测,稳定后会立即开源。
主要是C,有一小部分Lua。
现阶段:
-
权重一样,简单的从库轮询(RR);
-
权重不同,按权重比例轮询(例如:只有两个可用的slave, slave 1:weight 4 , slave 2: weight 1, 每5次4次发送查询语句到slave1,1次 发送查询语句到slave2);
-
配置了tag,会根据配置的tag发送到指定的从库(tag详细参考 从库流量配置);
-
支持threadrunning功能,进行过载保护(DBProxy会周期获取MySQL的实际threadrunning,根据DBProxy 上配置的threadrunning来选择可用的从库)。