先說下大體架構: Master下面掛着3個slave,讀寫分離,3個slave是一個讀集羣(版本均爲Percona 5.1)
故障現象:其中一臺機器(暫且稱之爲C)slave延遲偶爾瞬間爲22秒!
可能的情況是:
1、瞬間可能有大量的更新;
2、有些SQL語句耗費太多資源;
3、大事務在執行(大事務:一個事務裏面包含過多語句邏輯)
4、磁盤問題
5、系統其他問題
從zabbix監控中,innodb_rows_operate顯示中無異常現象,排除1;
從slave的slow_query_log 中,發現部分定時任務的SQL,但與slave並無直接關係(時間點對不上),追蹤2;
通過解析binlog,並未發現“大事務”的存在,排除3;
磁盤狀態穩定,排除4;
在無直接線索的情況下,只有機器C有延遲狀態,對比其他兩臺機器(暫且成爲A,B),發現只有Server C的時間不對(差將近一分鐘),貌似已經找到答案;(操作系統規範執行的不徹底啊,該反思),
slave_behiend_master 是由於主從機器時間不對導致的,具體原因,可以參考下官方文檔!