mysql时不时运行很慢什么原因?
作者:bin1.redo log写满了,那么新的写sql请求就会阻塞,等待redo log刷磁盘,空出空间接收新sql
2.内存不够用了,InnoDB 用缓冲池(buffer pool)管理内存,如果内存不够用了,那么就要淘汰调一个最久不使用的内存页,如果淘汰的是脏页,那么就要先将脏页刷到磁盘去,此时也会阻塞新的请求.
innoDB提供了一个配置
innodb_io_capacity
,让你告诉innoDB可以以多快的速度刷盘,如果磁盘性能有那么高,但是配置的比较低,就会浪费性能,同时还提供了一个
innodb_max_dirty_pages_pct
配置,让你设置脏页的百分比。