分类

  1. 队列

    1. 待同步数据的发送和接收都分别会放在各自的缓存队列中,让闲时后台线程进行处理 | 参数 | 描述 | | —- | —- | | wsrep_local_send_queue | 发送队列的当前长度 | | wsrep_local_send_queue_max | 发送队列的最大长度 | | wsrep_local_send_queue_min | 发送队列的最小长度 | | wsrep_local_send_queue_avg | 发送队列的平均长度,太大说明当前节点消费同步数据能力差 | | wsrep_local_recv_queue | 接收队列的当前长度 | | wsrep_local_recv_queue_max | 接收队列的最大长度 | | wsrep_local_recv_queue_min | 接收队列的最小长度 | | wsrep_local_recv_queue_avg | 接收队列的平均长度,太大说明当前节点固化同步数据能力差 |
  2. 复制 | 参数 | 描述 | | —- | —- | | wsrep_last_applied | 同步应用次数 | | wsrep_last_committed | 事务提交次数 | | wsrep_replicated | 被其他节点复制的次数 | | wsrep_replicated_bytes | 被其他节点复制的数据量 | | wsrep_received | 收到的数据同步次数 | | wsrep_received_bytes | 收到的同步数据量 |

  1. 流控

    1. 当复制接收队列达到阈值,会进行流量控制,此时节点将暂停复制,节点会先处理接收队列中的任务。此时会造成集群性能下降
    2. 解决思路
      1. 可以在配置文件中设置并行复制线程数 wsrep_slave_threads (般是当前 cpu 的 1~1.5 倍)
      2. 增大网络带宽
      3. 提高硬件配置 | 参数 | 描述 | | —- | —- | | wsrep_flow_control_paused_ns | 流控时, 复制同步暂停的时间 (ns) | | wsrep_flow_control_paused | 流控暂停时间的占比 (0~1 对应 0%~100%) | | wsrep_flow_control_sent | 本地节点发送给集群的限流事件信息数量,可以用来当做监控项,来确认哪个节点导致了限流产生 | | wsrep_flow_control_recv | 本地节点收到的集群限流事件信息数量 | | wsrep_flow_control_interval | 流控的队列触发阈值和 | | wsrep_flow_control_interval_low | 流控的队列解除阈值 | | wsrep_flow_control_interval_high | 流控的队列触发阈值 | | wsrep_flow_control_status | 流量控制状态 |
  2. 事务 | 参数 | 描述 | | | —- | —- | —- | | wsrep_cert_deps_distance | 事务执行并发数 | | | wsrep_apply_oooe | 接收队列中事务的占比 | | | wsrep_apply_oool | 接收队列中事务乱序执行的频率 | | | wsrep_apply_window | 接收队列中事务的平均数量 | | | wsrep_commit_oooe | 发送队列中事务的占比 | | | wsrep_commit_oool | 不存在本地乱序提交,无意义 | | | wsrep_commit_window | 发送队列中事务的平均数量 | |

  1. 状态
    1. show status like 'wsrep_cluster%'; 查看集群规模 | Variable_name | Value | | —- | —- | | wsrep_cluster_weight | 3 | | wsrep_cluster_conf_id | 3 | | wsrep_cluster_size | 3 | | wsrep_cluster_state_uuid | fbd843b6-934c-11ea-9dde-fa5a9b73e6c5 | | wsrep_cluster_status | Primary |

节点和集群状态

关系图

节点

image.png

集群

image.png

参数

参数 描述
wsrep_local_state_comment 当前节点状态
参数 描述
wsrep_cluster_status 集群状态(PRIMARY,NON_PRIMARY,Disconnected)
wsrep_connected 节点是否连接到集群
wsrep_ready 集群是否正常工作
wsrep_cluster_size 集群节点数量
wsrep_desync_count 延时节点数量
wsrep_incoming_addresses 集群节点 IP 地址