首页
登录 | 注册

innodb 减轻磁盘IO

先挖坑,待测试!
参考: 深入浅出MYSQL di

1、控制 innodb buffer 刷新,延长数据缓存时间,减缓磁盘I/O
   *innodb_max_dirty_pages_pct --控制缓存池中脏页的最大比例,默认是75%
   *innodb_io_capacity  -- 代表磁盘的能力,默认200,磁盘转速低时可以适当调低(7200转可调整为100)
    例:
    若 innodb_buffer_pool_wait_free 的值增长较快,说明Innodb经常在等待空闲缓存页,可以增大 innodb_buffer_pool_instances (缓存池),或者应将 innodb_max_dirty_pages_pct  调小,或将 innodb_io_capacity 提高,以加快脏页的刷新

2、Innodb 脏页刷新双写策略(doublewrite)

   *buffer 会同时写到doubewrite buffer 和 redo ,如果要求超高性能,有能容忍极端情况下少量数据的丢失。
    可以通过在配置文件中增加 innodb_doublewrite=0 来关闭doublewrite

3、调整排序缓存区
   *sort_buffer_size
   如果通过 show global status 看到 sort_merge_passes 的值很大,可以考虑调整 sort_buffer_size 的值来增大排序缓存区,改善order by 和 group by的性能

4、设置合理的log file size ,控制检查点
当一个日志文件写满后,innodb会自动切换到另一个日志文件,但切换时会触发数据库检查点,将导致innodb 缓存脏页的小批量刷新。
但是 innodb_log_file_size 设置太大,恢复时将需要更长时间。 一般来说,每半个小时写满1个日志文件比较合适
计算每分钟产生的日志量:
mysql> pager grep -i "Log sequence number";
mysql>show engine innodb status\G select sleep(60); show engine innodb status\G
mysql>nopager
mysql>select ROUND((90110000 - 901022222)) /1024 / 1024)as MB;
得出每分钟产生的日志大小(MB)

5、调整 innodb_log_buffer_size
innodb_log_buffer_size 决定INNODB 重做日志缓存池的大小,默认是8M.对于大量更新记录的大事务,增加  innodb_log_buffer_size 可以避免INNODB 在事务提交前就执行不必要的日志写入磁盘操作
     (可以理解为,至少要调整到=最大事务的大小。)

相关文章

  • 漫谈linux文件IO
        在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO.本篇文件打算详细全面,深入浅出.剖析文件IO的细节.从多个角度探索如何提高IO性能.本文尽量用通俗易懂的视角去阐述.不copy ...
  • 版权声明:本文为博主原创文章,未经博主允许不得转载.         最近在做金融数据库相关的数据库SQL审核工作,期间发现非常多不符合基本规范的SQL.和相关的开发沟通后,发现很多的开发,甚至工作了很多年的高工对于数据库建表的基本规范可能 ...
  • sysbench压力测试工具简介和使用(二)
    sysbench压力测试工具使用:   2.1    测试数据库服务器的硬件配置信息如下:   CPU:      24核心线程数,Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz MEM:    64G,8 ...
  • sysbench压力测试工具安装和参数介绍   一.sysbench压力测试工具简介:   sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有 ...
  • Hadoop参数调优 1. 设置合理的槽位数目 在Hadoop中,计算资源是用槽位(slot)表示的.slot分为两种:Map slot和Reduce slot. 2. 调整心跳间隔  心跳中包含节点资源使用情况.各任务运行状态等信息,如果 ...
  • 众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法; 例如,我们要将数据库(不论是什么数据库)的数据导出到一 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.011 s.
京ICP备10005923号