记一次Linux IO 问题排查

@liubb  July 24, 2020

问题:

mysql出现报警

[Note] InnoDB: page_cleaner: 1000ms intended loop took 6573ms. The settings might not be optimal

因为是跑数据的机器,数据量更新较大。查看mysql慢日志,出现insert update等操作的慢sql,基本确定是由于数据更新和插入频繁引起的io性能问题。
优化了一些mysql参数之后,并没有减少错误报警。

将mysqlbinlog输出到文本里分析一段时间内执行的语句,发现每分钟可能多达上千条sql更新。但是发现一个问题,有时候sql更新次数虽然多但并没有造成报警。

怀疑IO问题并不是mysql引起的。

pidstat -d 1 1000

每秒输出系统的IO状态,发现redis-server隔一段时间就会产生大量的io,高达每秒上百兆,导致机器io满载。

修改redis的硬盘持久化方案,由rdb修改为aof,io问题暂未再发现。

有个坑,修改持久化方案会造成原缓存丢失。


添加新评论