问题:
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问题暂未再发现。
有个坑,修改持久化方案会造成原缓存丢失。