性能提升利器:MySQL 5.7多源主从复制的独特性

  多源复制的压力测试使用了Sysbench对2台主库(master和master1)一起加压,同时对从库slave进行性能监控。(3个数据库所在的服务器配置完全相同)

  测试语句:

物联网

  参数说明:

  OLTP场景

  Innodb引擎

  对5张表操作

  每数据库1万个操作请求(一共2万个操作请求)

  混合读写

  每数据库100并发

  每表20万条数据

  考虑到30并发度的资源利用相对充分、执行效率相对较高的测试结果,在从库开启30个SQL线程并行后进行测试,并将从库的监控数据进行统计做成可视化曲线图进行分析。

  从下面3张测试后生成的曲线图可以看到,对于从主库发过来的2万个请求,并行执行的完成时间(横轴为时间)比单线程更短,资源利用率更高,执行效率更高。

  CPU 使用率:

  从图中可看到,开启并行之后,CPU的利用率比之前有所升高,负载还OK,最高36%左右,利用较单线程更充分,操作完成时间更早(曲线最先恢复下降到0)。

  Disk Write KB/s

  硬盘使用率从图中看出,并行SQL线程relay过程相对比较平稳,未出现明显抖动,并且30并发的曲线最早归零,结束操作。

  Free Memory 剩余内存:

  内存使用差不太多。

  由此可见,多源复制在合理的开启并行之后,有助于提高复制效率,缩短数据的延迟。

  小结

 

  总体说来,MySQL的多源复制提供了更经济、方便和安全的数据库环境。如有感兴趣的朋友,欢迎留言一起交流,模拟业务场景进行测试、提出测试建议、更正错误和共同研究都是非常欢迎的,希望与大家互助共进!