1. 程式人生 > 資料庫 >從庫延遲增大,MySQL日誌出現InnoDB: page_cleaner: 1000ms intended loop took 17915ms.

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

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後,發現沒有好轉。看來硬體是沒法在優化了,對伺服器進行升級(雲伺服器)後從庫效能恢復,開始猛追資料。