Mysql数据库磁盘IO达到100%的解决方法

Mysql数据库磁盘IO达到100%的解决方法

运行时磁盘IO状态

只读锁(flush tables with read lock)后磁盘IO正常,开启写(unlock tables)后,磁盘IO脉冲式增加。说明磁盘IO增加的原因是数据库写造成的,那么就需要在写操作上优化。

Mysql数据库磁盘IO达到100%的解决方法

读锁后磁盘IO正常,开启写后磁盘IO脉冲式增加

题2:二进制日志文件mysqlbinlog过大

    每天数据产生17G的二进制日志文件mysqlbinlog,磁盘快满了。

    解决办法:对于监控数据来说,其实没有必要保存改变数据库信息的语句。 expire-logs-days,设置清除log文件的天数。或者直接不需要,在my.ini文件中直接关闭,也可降低磁盘IO。

; binary logging – not required for slaves, but recommended

;log-bin=mysql-bin

问题3:数据库没有经过调优

    Mysql数据库没有经过调优。笔者虽不是DBA,但是针对具体问题,结合以前得知识(请参考数据库DB文集)和网络资料,分享一下自己的分析解决思路。

    影响数据库最大的性能问题就是磁盘IO,为了提升数据库的IOPS,可以使用SSD或者PCIE-SSD高速磁盘。内存方面也很重要,内存可以缓存热点数据和存储引擎文件,避免产生过多的物理IO,可以增加物理内存来提高数据库的并发和读写性能。

    接下里就是主要针对磁盘IO过高时,Mysql数据库参数应该怎么调优?

1、Innodb_buffer_pool_size。作用是缓存innodb表的数据信息,可以设置为物理内存的50-80%。

2、innodb_flush_log_trx_commit和。参数是redo log刷新的参数,默认是1,即在每个事务提交时,InnoDB立即将缓存中的redo日志回写到日志文件,并调用操作系统fsync刷新IO缓存。可以设置为2,即是每个事务提交时,InnoDB立即将缓存中的redo日志回写到日志文件,但并不马上调用fsync来刷新IO缓存,而是每秒只做一次磁盘IO缓存刷新操作。参数为0时,在提交事务时,InnoDB不会立即触发将缓存日志写到磁盘文件的操作,而是每秒触发一次缓存日志回写磁盘操作,并调用操作系统fsync刷新IO缓存。修改为2或者0时,可以节省IO资源,但是在崩溃或断电的时候会丢失最后一秒的数据,但对于监控数据来说没啥影响。

    设为是最安全的,但性能也是最差的(相对其他两个参数而言,但不是不能接受)。如果对数据一致性和完整性要求不高,完全可以设为2,如果只要求性能,例如高并发写的日志服务器,设置为0来获得更高性能。

3、sync_binlog。binlog刷新的参数,默认是1。和参数innodb_flush_log_trx_commit组成数据库的双一,可以保证主从架构中数据的一致性。在监控系统中,binlog关闭了。

4、innodb_max_dirty_pages_pct。脏页占Innodb_buffer_pool的比例,,超过时触发刷脏页到磁盘,建议25%-50%。

5、innodb_io_capacity。innodb后台进程中最大的IO性能指标,影响刷脏页和插入缓冲的数量,默认200。高转速磁盘下可以适当提高该参数。SSD磁盘配置可以调整为5000-20000,PCIE-SSD高速磁盘可以调整得更高(50000)。

6、innodb_data_file_path = ibdata1:1G:autoextend。innodb表空间不要使用默认得10MB,可以调整为1G,防止高并发下数据库受影响。

7、gerenal log。全量日志建议关闭,默认是关闭的,否则日志文件会越来越大,影响性能。

文章均来自互联网如有不妥请联系作者删除QQ:314111741 地址:http://www.mqs.net/post/15447.html

相关阅读

  • 淘宝怎么运营推广(中小卖家必学的操作思路)

    淘宝怎么运营推广(中小卖家必学的操作思路)

    淘宝在很长一段时间内,一直被认为是中国最大的电子商务平台。人们在这里购物,与在别处购物一样,会感觉到很便捷、很实惠。因此,随着电商行业的发展。如今,淘宝网站的活跃用户数已经超过了1亿人(目前该数据仅统计了部分用户)。而作为一个淘宝...

    2025.12.09 14:15:37作者:iseeyuTags:运营
  • 如何保证缓存和数据的双写一致性

    如何保证缓存和数据的双写一致性

    image 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇...

    2025.12.09 09:28:14作者:iseeyu
  • 【百度搜索引擎优化】如何快速了解百度搜索引擎优化的知识?(搜索引擎优化基本)

    【百度搜索引擎优化】如何快速了解百度搜索引擎优化的知识?(搜索引擎优化基本)

    在百度输入SEO优化,下拉框就有很多关键词,SEO优化工具,SEO查询,SEO技巧,SEO优化方案,SEO报价,SEO优化教程,SEO优化软件,SEO优化怎么做,等等,相关搜索也有很多长尾关键词。还可以加入一些群,找些大牛问下,向这些大牛学...

    2025.12.09 07:37:38作者:iseeyu

添加新评论