详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏
1、脏页刷新的频率
![]() 默认1024,遍历lru list刷新脏页,值越大,说明刷脏页频率越高。 2、磁盘刷新脏页的量:磁盘io能力
![]() 根据磁盘io能力进行调整,值越大,每次刷脏页的量越大。 3、redolog调优
![]() logfile大小和组数可能会导致写抖动:日志切换频率需要监控(文件系统层面技巧)。 4、redolog的刷新机制
![]() 这里我优化了一下 默认MySQL的刷盘策略是1,最安全的,但是安全的同时,自然也就会带来一定的性能压力。在写压力巨大的情况下,根据具体的业务场景,牺牲安全性的将其调为0或2。 ![]() 5、定义每次日志刷新的时间
![]() 默认是1,也就是每秒log刷盘,配合innodb_flush_log_at_trx_commit来设置,为了充分保证数据的一致性,一般innodb_flush_log_at_trx_commit=1,这样的话,innodb_flush_log_at_timeout的设置也就没有意义了。因此,该参数的设置只针对innodb_flush_log_at_trx_commit为0/2起作用。 6、内存脏页占比控制
![]() 在内存buffer pool空间允许的范围下,可以调大脏页允许在内存空间的占比,可解燃眉之急,降低写压力。 7、关闭doublewrite降低写压力
![]() 两次写特性,默认开启,静态参数。 以上就是针对mysql在以写为主的情况下的相关参数监控及调优,如何调整(静态参数、动态参数)最好都要根据官方文档来调整。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~ 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |