加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

发布时间:2019-07-30 18:22:56 所属栏目:评测 来源:波波说运维
导读:副标题#e# 概述 今天主要分享下mysql数据库写压力的性能监控与调优,分成性能监控、相关调优参数两方面来做介绍。 参考:http://www.cnblogs.com/geaozhang/ 一、写压力性能监控 1、OS层面的监控:iostat -x #iostat-x 说明: rrqm/s:每秒进行merge的读操

1、脏页刷新的频率

  1. mysql> show variables like 'i%depth%'; 
详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

默认1024,遍历lru list刷新脏页,值越大,说明刷脏页频率越高。

2、磁盘刷新脏页的量:磁盘io能力

  1. mysql> show variables like '%io_c%'; 
详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

根据磁盘io能力进行调整,值越大,每次刷脏页的量越大。

3、redolog调优

  1. mysql> show variables like 'innodb_log%'; 
详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

logfile大小和组数可能会导致写抖动:日志切换频率需要监控(文件系统层面技巧)。

4、redolog的刷新机制

  1. mysql> show variables like '%flush%commit'; 
详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

这里我优化了一下

默认MySQL的刷盘策略是1,最安全的,但是安全的同时,自然也就会带来一定的性能压力。在写压力巨大的情况下,根据具体的业务场景,牺牲安全性的将其调为0或2。

详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

5、定义每次日志刷新的时间

  1. mysql> show variables like 'innodb_flush_log_at_timeout'; 
详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

默认是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、内存脏页占比控制

  1. mysql> show variables like '%dirty%pct%'; 
详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

在内存buffer pool空间允许的范围下,可以调大脏页允许在内存空间的占比,可解燃眉之急,降低写压力。

7、关闭doublewrite降低写压力

  1. mysql> show variables like '%doub%'; 
详解MySQL以写为主的系统如何进行性能监控与调优,值得收藏

两次写特性,默认开启,静态参数。

以上就是针对mysql在以写为主的情况下的相关参数监控及调优,如何调整(静态参数、动态参数)最好都要根据官方文档来调整。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

【编辑推荐】

  1. 深度操作系统 Deepin 15.11 发布
  2. Linux发展历史,能够与微软抗衡的操作系统
  3. Linux下如何实现MySQL数据库每天定时自动备份
  4. 书呆为黑学校电脑,搞出超级操作系统,成就谷歌,让微软头疼不已
  5. Mycat连接MySQL 8的时候所需要注意哪些事项?你知道几项
【责任编辑:华轩 TEL:(010)68476606】
点赞 0

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读