【发布时间】:2020-11-11 17:08:51
【问题描述】:
我已经设置了一个非常经典的 MariaDB 10.4.13 复制 GTID 设置,带有两台服务器(可写主服务器和只读从服务器)。
一段时间以来,我注意到路由到从站的一些应用程序 SELECT 查询存在一些不一致。经过一些故障排除后,我发现从站的“Seconds_Behind_Master”值增长到 10,000 秒 (!)。
通过在从属设备上执行 SHOW PROCESSLIST,我注意到长查询,例如:
11 | system user | | NULL | Slave_SQL | 14 | Delete_rows_log_event :: find_row (-1) | DELETE FROM `mytable` WHERE` id` = 5580
每一个都需要超过 20 秒的时间来执行(!),所以它们会累积并导致滞后......
在主服务器上启动的相同删除查询是瞬时的(0.031 秒) - 此外,从硬件比主硬件更强大(4 核 CPU 与 2 核 CPU),从服务器上的平均负载/CPU 非常低。
我已经尝试将并行“slave_parallel_threads”增加到从 CPU 的数量(4) 正如here 解释的那样,但没有任何好处。
关于如何解决此问题或提高复制性能以保持主/从同步的任何线索?
【问题讨论】:
标签: mysql mariadb replication