Mysql集群及高可用-并行复制5

系列文章目录

Mysql集群及高可用-SQL线程的优化-并行复制5


一、Mysql集群-并行复制(sql线程的优化)

半同步优化的是io线程

master并行写入,一个sql回放会导致延迟越来愈大

直接百度查看 mysql5.7 mts 找到相应的参数即可

解决延迟问题

参考链接

在这里插入图片描述


二、Mysql集群-并行复制的配置

2.1 slave_parallel_type

server2:
进入数据库后

show variables like '%slave%';

DATABASE表示并行的基础是以数据库为基础,一个数据库开启一个线程
但是实际是一个数据库很多的写入,如果按照DATABASE来sql回放发挥不出并行的性能

在这里插入图片描述

变更slave_parallel_type需要先停掉sql线程 (或者先stop slave;全局环境变量;start slave;)

也可以写到主配置文件/etc/my.cnf重启数据库就可以(生产环境是不能随意重启,测试环境可以)

所以最好是热添加(热生效)set global 临时的

热生效配置后马上写入主配置文件/etc/my.cnf,要不然数据库服务重启后,前面设置的set global就会丢失

在这里插入图片描述


2.2 slave_parallel_workers

slave_parallel_workers原先的sql线程会变成为协调线程,重建16个worker,不能设置1,设置1还不如原先的性能(不设置sql的并行复制)

根据实际生产调整具体的worker是多少,官方测试是16

因为一旦走了并行,机制就变化了,通过协调线程来做转发,性能一部分用在了转发上面

在这里插入图片描述


2.3 master_info_repository和relay_log_repository

启动并行复制后,每次复制的时候,主从的信息会保留在数据目录/usr/local/mysql/data 下面的master.inforelay-log.info

master.info
server3:
读取的文件,读取的号,master主机ip
在这里插入图片描述
relay-log.info
server3:
在这里插入图片描述


激活并行复制后,文件变更速度比原先快得多,频繁的刷文件,这样的话,性能会下降,配合并行复制mts,官方建议开启两个参数选项

master_info_repository=TABLE
relay_log_repository=TABLE

信息保存方式2种,一种是文件,一种是表(放在数据库中),由数据库系统做刷盘动作,而不是直接写入文件保存,这样开启并行复制的时候性能能提升


server2:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
slave状态没问题

在这里插入图片描述

master.info 和 relay-log.info 不存在了,变成数据库表了
在这里插入图片描述


进入数据库

use mysql
show tables;
select * from slave_master_info;

在这里插入图片描述
在这里插入图片描述


2.4 relay_log_recovery

slave 通过relay_log进行恢复

relay_log_recovery=ON

server2:

由于这个参数是只读,所以只能写到主配置文件中
有些参数不能热生效,必须写入配置文件中
在这里插入图片描述

server3:

由于是测试环境,所以直接在server3上的主配置文件/etc/my.cnf上面写上所有参数,重启数据库服务

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
截取部分:
里面16个sql线程

在这里插入图片描述


END

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL支持多种集群模式,包括主从复制、双主复制、NDB集群等。 - 主从复制:主库进行读写操作,从库进行数据复制。优点是简单易用,缺点是单点故障,从库无法提供读服务。 - 双主复制:两个主库都可以进行读写操作,相互之间进行数据复制。优点是高可用性,缺点是复杂度增加,实现难度较大。 - NDB集群:基于内存的存储引擎,支持高可用性和高并发。优点是性能高,缺点是内存限制,数据量较大时难以使用。 总的来说, 主从复制适用于读操作较少的场景, 双主复制适用于高可用性要求较高的场景, NDB集群适用于性能要求较高的场景。 ### 回答2: MySQL是一种开源的关系数据库管理系统,具有多种可用于构建集群的模式。不同的集群模式在性能方面有所差异,下面将对几种常见的MySQL集群模式进行比较。 1. 主从复制模式:主从复制是MySQL集群中最常见的一种模式。在主从复制中,一个主节点负责写操作,而多个从节点负责读取数据。主节点将写操作记录在二进制日志中,并将其传输给从节点进行重放,从而实现数据的同步。主从复制模式在性能方面有一定的优势,主节点能够提供快速的写操作,而从节点能够提供高可用的读取。但是由于从节点的数据是通过异步复制进行同步的,可能会存在一定的延迟。 2. MySQL Cluster模式:MySQL Cluster是由多个数据节点、管理节点和多个连接点组成的集群模式。数据节点将数据分片存储在各自的节点上,并通过复制和分发机制来确保数据的冗余和高可用性。MySQL Cluster模式在性能方面具有优势,能够提供高可用性和高可扩展性,适用于需要低延迟和高吞吐量的应用场景。 3. MySQL InnoDB集群模式:MySQL InnoDB集群模式是基于MySQL Group Replication和MySQL Router的解决方案。该模式通过复制和自动故障转移机制来提供高可用性和容错能力。数据复制是同步的,可以实现实时的数据一致性。MySQL InnoDB集群模式在性能方面有较好的表现,能够提供高可用性和可扩展性。 总体而言,不同的MySQL集群模式在性能方面有所差异。主从复制模式在写操作上表现较好,而MySQL Cluster模式和MySQL InnoDB集群模式更适用于需要高可用性和可扩展性的场景。在选择集群模式时,需要根据具体的业务需求和性能要求来进行选择。 ### 回答3: MySQL有多种集群模式可供选择,包括主-从复制、主-主复制、共享存储和分布式存储等。这些集群模式在性能方面有一些差异。 主-从复制是最常见的集群模式之一。它通过一个主节点将数据复制到多个从节点,从节点只负责读操作。主-从复制的性能较好,可以提供较高的读取吞吐量。但是,写操作只能在主节点上进行,从节点需要等待主节点的变更复制后才能获取最新数据。因此,主-从复制的写入性能相对较低。 主-主复制是另一种常见的集群模式。它允许多个节点同时进行写操作,每个节点都具有读写功能。主-主复制可以提供更好的写入性能,因为写操作可以在多个节点上并行进行。但是,数据的同步和冲突处理可能会增加一些复杂性,并且需要额外的配置和管理。 共享存储是一种将多个数据库实例连接到共享存储设备的集群模式。这种模式可以提供更好的扩展性和高可用性。多个数据库实例可以同时访问共享存储,并共享数据。因为数据存储在共享存储设备中,所以节点之间无需进行数据复制和同步,并且可以提供较好的读写性能。然而,共享存储通常较昂贵,并且可能成为性能瓶颈。 分布式存储是一种将数据库分片存储在多个节点上的集群模式。每个节点负责处理特定的数据分片。这种模式可以提供无限的水平扩展性,并能够处理大规模数据。分布式存储通常具有较好的读写性能,因为读写请求可以在多个节点上并行处理。然而,分片和负载均衡可能增加一些复杂性,需要额外的管理和调优。 综上所述,不同的集群模式在性能方面有各自的优势和局限性。选择适合特定需求的集群模式需要考虑诸多因素,如数据的读写比例、可用性要求、数据大小和负载等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值