從庫延遲增大,MySQL日志出現InnoDB: page_cleaner: 1000ms intended loop took 17915ms.


今天同事負責的數據庫從庫出現從庫延遲增大,MySQL日志InnoDB: page_cleaner: 1000ms intended loop took 17915ms.

了解原因,keepalived+MySQL主主復制架構,MySQL5.7版本,其中keepalived切換到備庫后,在切換回來導致從庫延遲增大,MySQL日志出現InnoDB: page_cleaner: 1000ms intended loop took 17915ms.

查看服務器top,發現CPU出現大量wait占用

同時,用iostat查看也發現util達到100%

網上查看方法:

1、調整innodb_page_cleaners為更大的值即可,最好保持跟innodb_buffer_pool_instances一致,但是要根據服務器的CPU實際核數調整

2、或者是葉老師寫的 http://blog.itpub.net/7728585/viewspace-2157988/

3、How to solve mysql warning: "InnoDB: page_cleaner: 1000ms intended loop took XXX ms. The settings might not be optimal "? - Stack Overflow https://stackoverflow.com/questions/41134785/how-to-solve-mysql-warning-innodb-page-cleaner-1000ms-intended-loop-took-xxx

 

由於此服務器CPU為2核,內存為8G,並且跑着2個實例。所以硬件資源這塊確實太弱了。

臨時的想法,就是看看MySQL參數sync_binlog、innodb_flush_log_at_trx_commit是否設置的雙1,改成0和2后,發現沒有好轉。看來硬件是沒法在優化了,對服務器進行升級(雲服務器)后從庫性能恢復,開始猛追數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM