腾讯CDB复制选型及容量评估

腾讯CDB复制选型及容量评估

1. 压测目的:

  1. CDB复制模型选型

  2. CDB容量规划参考

CDB现在支持类型复制类型比较多,我这里选择以下几种复制类型压测对比: MySQL 5.6[异步|半同步|增强半同步]复制,5.7异步复制(当时5.7只支持异步复制).

CDB类型: 高可用版  4000MB内存, 200G存储空间

图片

2. 压力机: 4G,2Core机器

压测命令:

sysbench /usr/local/share/sysbench/oltp_read_only.lua \

–db-driver=mysql \

–mysql-host=${DBIP} \

–mysql-port=${DBPORT} \

–mysql-db=wubx \

–mysql-user=wubx \

–mysql-password=‘XXXX’ \

–tables=10 \

–table_size=5000000 \

–threads=200 \

–time=900 \

–report-interval=1 –percentile=99 run

(10张表, 每个表500万数据,200个并发压测),每个模型跑三次,取平均值。

3. 压测结果(2018年7月份的数据):

图片

从结果上直观看来,感觉这4个差别不大。 基本是接近。 但为了直观对对比一下谁更好,再来一个图对比一下QPS:

图片

从这里看觉的CDB的MySQL 5.6增强半同步复制比MySQL5.7的异步复制性能还好。也可以说CDB的MySQL5.6优化的相当不错。(压测过程备节点延迟比较大)

4. 分析结果是不是值得值任

但再细想,这个结果也太接近了,基于这个原因来看了一下网卡流量:

图片

发现网卡流量稳定在:165.XMB ,我用的压测机的网卡也只有1.5G, 感觉这个网卡流量非常吓人。咨询CDB的技术人员,原来他们CDB没有限制网卡流,单个CDB是万兆网卡(使用CDB的就笑吧),另外说明一个惊天秘密:CDB压测那会还没限制IO,这是大福利(这个资料有半年多时间了,现在是不是这样,不保证了,需要你有兴趣可以压测一下,自我验证一下)。 所以使用CDB还觉的响应时间慢的,请自查业务SQL,Schema设计优化吧。

基于这个测试,基本让我消除了CDB性能问题,对于容量规划只用考虑磁盘大小就行。所以不在继续压测。

5. 总结:

1. 对于复制选型:

图片

对于使用CDB环境,基本不用考虑运维这块,所以我建议可以直接上增强半同步就行,当然,如果为了使用5.7这个版本,只能去选择异步复制。

2. 容量规划

先考虑空间就行, 网卡流量,IO先不用考虑。 觉的有时想想腾讯做游戏基因在这里也是性能为王的一惯作风。

6. 思考:

      为什么CDB中MySQL 5.6复制看着比MySQL5.7还利害呢?  (下次给大家解密一下CDB MySQL 5.6的架构)

关注公众号:MySQLBeginner

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享