1. 压测目的:
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
本文分享自 MySQLBeginner 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!