|
|
Seconds_Behind_Master: 7600
' S2 T! p3 X7 p/ ], W: ? [( w+ X3 E5 q. h% I7 R+ J8 W, J
1, 检查show full processlist; 没有任何slow的dml sql语句。
4 ^# C$ C& c- e. x5 {2, 检查innodb status,没有任何lock的块。
7 L: O7 M# o. _3, 检查cacti,里面cpu usage从4%上升到了15%,Percona InnoDB I/O GT 从90%降低到了50%%。7 T+ @( a* a% W. e7 i
4, 检查当前connections,发现处于业务低峰期。& R |/ M2 ? U9 O2 O R# x
5, 尝试我重启了下mysql server,结果Seconds_Behind_Master还是不停的增长。* `0 _8 X0 c5 w
* d8 o- ?# K" A% g2 U1 e
6,最后去检查写入参数看下:
! w: @5 G. O/ J% C) B; Z1 [mysql> show variables like '%commit%';" x Q" I; a* a) w. C3 y
+--------------------------------+-------+
/ _) z* {5 j& s1 {1 w| Variable_name | Value |
$ X0 y) `- B1 e+--------------------------------+-------+
! N: E9 s: \' C, z- P8 |7 L| autocommit | ON |; g5 ]2 C2 p. x& N+ X$ O
| innodb_commit_concurrency | 0 |
) q+ r: j9 ]- N5 @$ E P W| innodb_flush_log_at_trx_commit | 0 |
. u7 ]1 I% ^: L" ?$ ], u+--------------------------------+-------+
6 _3 o3 _0 y( i [2 m3 rows in set (0.00 sec)
7 C+ u6 y" A2 Y4 v
5 J0 m/ F4 {+ Ycommit为0,已经算是最快的了。/ ~, E/ l1 i* j/ c6 R
再看binlog
; _( d8 s' { fmysql> show variables like 'sync_binlog';
! y! t$ @' y, b0 A, @2 J+ r! M+---------------+-------+
" S( a# o _, B| Variable_name | Value |
9 m8 m( E; s. L+---------------+-------+
7 D9 X3 f4 a& ?" i+ || sync_binlog | 2 |5 k% V$ Q& F/ l% p8 \$ n2 F% K
+---------------+-------+* @8 g" I5 ~( a, r: u+ }
1 row in set (0.00 sec)2 m+ L$ X4 q; M' _. M x ?- Q
: I; K" f' x x1 g5 T. W) _0 I那么改成0试试看吧。
3 N6 q) `# H" K2 h% bset global sync_binlog=0;
0 _5 y8 `! D! d( a. Y7 ]! w' S
& x2 M5 @& b! H2 ^7 Q执行完后,从Seconds_Behind_Master: 9200变成了Seconds_Behind_Master: 8791,开始追了。5 m! d5 Y! B s9 q# v9 Z% s. e
又过了3分钟,已经是Seconds_Behind_Master: 0了。
$ r* D' r* x7 j# D, O虽然问题解决了,但是主要问题不在sysn_binlog,估计是磁盘有问题了,不然不可能在晚上业务低峰期,会主从delay的。平常白天业务高峰期都没有主从delay过,把疑惑发给山姆大叔,让他去找system administrator吧,去check下disk的问题。 |
|