MySQL优化之并行复制优化(二)
来源:互联网 发布:2016年淘宝大数据分析 编辑:程序博客网 时间:2024/06/10 02:03
先重复下MySQL复制原理,其通过三个线程来完成,在master节点上运行的binlogdump线程以及在slave节点上运行的I/O线程和SQL线程。具体如下:
1. master节点上的binlogdump线程,在slave与其正常连接的情况下,将binlog发送到slave上。
2.slave节点上的I/O线程,通过读取master节点发送的内容,并将数据复制到本地的relaylog中。
3.slave节点上的SQL线程,读取relaylog中的日志,并将其事务在本地执行。
Master节点的多个数据库并发进行事务提交,提交的事务根据LSN号顺序的写入binlog,slave节点通过I/O线程将master上的binlog写到本地relaylog中,在slave节点只有一个SQL线程来执行relaylog中的日志,这样很容易造成slave延迟。
在MySQL5.6中,引入了并发复制,这个并发复制是数据库级别的,这意味着一个SQL线程可以处理一个数据库的连续事务,而不用等待其它数据库完成。这个版本的并发复制,可以理解成一个数据库一个SQL线程。其与并发有关的参数如下:
slave_parallel_workers // worker 线程个数
slave-checkpoint-group // 隔多少个事务做一次 checkpoint
slave-checkpoint-period // 隔多长时间做一次 checkpoint
slave-pending-jobs-size-max // 分发给worker的、处于等待状态的event的大小上限
MySQL5.6基于DATABASE级别的并发复制可以解决业务表放在不同的database下同步延迟的问题,但是在实际生产中大部分表还是放在同一个库中的,这种情况即使设置slave_parallel_workers大于0,也无法进行并发。在高并发的情况下,依然会造成主从复制延迟。
在MySQL5.7中,引入了新的并发复制方法,基于LOGICAL_CLOCK的并发复制,可以支持在一个database中,并发执行relaylog中的事务。
相同的二进制日志组在master上提交并行应用到slave节点上,没有跨数据库的限制,并且不需要把数据分割到多个数据库。
要实现这个功能,需要在master节点标记binlog中提交的事务哪些是可以并发执行,虽然的MySQL5.6中已经引入binarylog group commit,但是没有将可并发的事务标记出来。
可以通过此命令来查看:mysqlbinlog-vvv mysql-bin.000106 | grep -i last_commit
在MySQL5.7中,已经解决了主从复制延迟的问题,具体配置参数如下:
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
- MySQL优化之并行复制优化(二)
- 将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行
- MySQL 数据库性能优化之(二)表结构优化
- mysql优化之二(SQL语句优化)
- 性能优化之MySQL优化(二)- explain分析SQL
- Mysql性能优化之配置优化(二)
- MySQL 数据库性能优化之二(表结构优化)
- LAMP 优化之二 数据库优化Mysql
- MySQL 之索引优化(二)
- MySQL 优化(二)
- MySQL 优化(二)
- MySQL优化之——复制
- 数据库优化之MySQL优化(二):索引优化
- Mysql性能优化(二) 索引优化
- 【性能优化】 之 并行执行
- 程序优化之并行OpenMP
- mysql 性能优化(二)
- MYSQL查询优化(二)
- 使用HttpClient的POST方式
- 小黑屋总结
- SQL 多表查询
- cmder 使用心得
- 云计算之路-阿里云上-容器难容:自建docker swarm集群遭遇无法解决的问题
- MySQL优化之并行复制优化(二)
- lvs、nginx和haproxy比较
- Python入门--数据类型
- ReactNative基础---Style and Flex
- 数组扁平化
- 旋转图片之opencv
- Difference between v$temp_space_header and v$sort_segment
- 冒泡排序
- 证金汇金券商股暴动,指数在大涨,机构们这样看20170828