背景:某项目slave数据库的延迟非常大
结合上iostat中 wsec/s 较大的数值,基本可以确定IO高负载的元凶是redo log的flush,而不是data page的flush
查看innodb log buffer状态
mysql> show global status where variable_name in('Innodb_log_waits','Innodb_buffer_pool_wait_free');
+------------------------------+-------+
| Variable_name | Value |
+------------------------------+-------+
| Innodb_buffer_pool_wait_free | 0 |
| Innodb_log_waits | 2560 | ####log buffer过小导致写日志等待数。单位是次。
+------------------------------+-------+
加大log_buffer_pool与innodb_log_file_size的值,重启数据库,发现iowait降低,slave开始下降!
大型站长资讯类网站! https://www.nzzz.com.cn