遇到个dump binlog延迟增加的问题,发现master上的dump线程状态多数时间是
Finished reading one binlog; switching to next binlog
查问题要看系统IO,可能是dump程序太多,导致IO繁忙;
dba反馈load 8,iowait和ioutil并不高;但是业务在跑定时任务,导致tps很高,tps高会导致dump 变慢?这个之前没有遇到过
mysql> show processlist;
+----------+---------+----------------------+------+-------------+---------+-------------------------------------------------------+------------------+-----------+---------------+-----------+
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read |
+----------+---------+----------------------+------+-------------+---------+-------------------------------------------------------+------------------+-----------+---------------+-----------+
| 18618377 | jw_sync | 172.20.136.45:58226 | NULL | Binlog Dump | 1724575 | Finished reading one binlog; switching to next binlog | NULL | 0 | 0 | 198 |
| 18618389 | jw_sync | 172.20.150.87:58321 | NULL | Binlog Dump | 1724572 | Finished reading one binlog; switching to next binlog | NULL | 0 | 0 | 198 |
| 18618665 | jw_sync | 172.20.148.70:37864 | NULL | Binlog Dump | 1724438 | Finished reading one binlog; switching to next binlog | NULL | 0 | 0 | 198 |
| 21133727 | jw_sync | 172.20.133.18:56499 | NULL | Binlog Dump | 578883 | Finished reading one binlog; switching to next binlog | NULL | 0 | 0 | 198 |
| 22466211 | jw_sync | 172.23.227.174:60700 | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 2 |
+----------+---------+----------------------+------+-------------+---------+-------------------------------------------------------+------------------+-----------+---------------+
Binlog Dump 状态一共4个
1 Sending binlog event to slave
已经读出来,正在发送
2 Finished reading one binlog; switching to next binlog
The thread has finished reading a binary log file and is opening the next one to send to the slave.
3 Master has sent all binlog to slave; waiting for binlog to be updated
等着新的binlog产生
4 Waiting to finalize termination
线程停止时候一个短暂状态