首页 > 数据库 >MySQL参数优化之innodb_buffer_pool_size

MySQL参数优化之innodb_buffer_pool_size

时间:2023-02-18 12:35:36浏览次数:40  
标签:buffer 缓冲 chunk innodb MySQL pool size


innodb_buffer_pool我们俗称缓冲池,
缓冲池简单来说就是一块内存区域,通过内存的速度来弥补磁盘速度较慢对数据库性能的影响。
写入时,先将数据写入缓冲池种,再定期刷新到磁盘;读取时,将读到的页放到缓冲池种,下次再读取相同的页时,会首先判断该页是否在缓冲池中,若在缓冲池中则直接从缓冲池中返回。

MySQL参数优化之innodb_buffer_pool_size_java

1.查看当前值

show  variables  like '%innodb_buffer_pool_size%'

MySQL参数优化之innodb_buffer_pool_size_数据库_02

2.优化配置

(1)配置为系统内存的50%至75%。默认缓冲池大小为128 MB。一般设置为内存大小的75%

innodb_buffer_pool_size={DBInstanceClassMemory*3/4}

(2) 为了避免潜在的性能问题,块的数量(innodb_buffer_pool_size/innodb_buffer_pool_chunk_size)不应超过1000

select @@innodb_buffer_pool_size/@@innodb_buffer_pool_chunk_size;

(3)缓冲池大小必须始终等于或倍数为

增加或减少时innodb_buffer_pool_size,操作以块的形式执行。块大小由innodb_buffer_pool_chunk_size配置选项,该选项的默认值为128M。

innodb_buffer_pool_size = n(innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances)
如果不等于乘积的倍数,缓冲池将会自动调整为乘积的数值,可以用下方命令查看:

select @@innodb_buffer_pool_size/(@@innodb_buffer_pool_chunk_size * @@innodb_buffer_pool_instances);

(4)在具有大量内存的系统上,可以通过将缓冲池划分为多个来提高并发性

innodb_buffer_pool_instances系统变量定义缓冲池实例的数量

修改配置文件的调整方法,修改my.cnf配置:

innodb_buffer_pool_size = 2147483648 #设置2G

innodb_buffer_pool_size = 2G #设置2G

innodb_buffer_pool_size = 500M #设置500M

3.使用建议

设置要根据自己的实际情况来设置,如果设置的值不在合理的范围内,并不是设置越大越好,可能设置的数值太大体现不出优化效果,反而造成系统的swap空间被占用,导致操作系统变慢,降低sql查询性能。


标签:buffer,缓冲,chunk,innodb,MySQL,pool,size
From: https://blog.51cto.com/liuyunshengsir/6065300

相关文章

  • mysql 查询数据库索引情况
    查询selecttable_schemaas'数据库',sum(table_rows)as'记录数',sum(truncate(data_length/1024/1024,2))as'数据容量(MB)',sum(truncate(index_length/1024/1024,2)......
  • MySQL参数优化之join_buffer_size
    1.查看当前值showvariableslike'%join_buffer_size%'mysql默认该设置为128或256或512k,各个版本有所出入2.作用范围在mysql中表和表进行join时候,无论是两个表之间还......
  • 一文搞定MySQL性能调优
    数据库的操作越来越成为整个应用的性能瓶颈,这对于Web应用尤其明显。关于数据库的性能,这并不只是DBA需要关心的,而更是后端开发需要去关注的事情。所以本文讲解MySQL在各个方......
  • 基于centos7部署 Seafile 服务器流程(使用MySql)
    官方搭建教程(home-SeafileCloud)1.下载seafile7.0*版本(好像是官方7.0*版本后都不支持centos7了。)下载地址:SeafileServer例如: 2.将下载的文件放好、解压(可以使用F......
  • InnoDB 架构(InnoDB Architecture)
    version5.7下图显示了组成InnoDB存储引擎体系结构的内存结构(In-memorystructures)和磁盘结构(On-DiskStructures)。图1InnoDB架构1.InnoDBIn-MemoryStructures(......
  • 【MySQL】事务日志 undo log 详解
    Redolog是事务持久性的保证,Undolog是事务原子性的保证。在事务中更新数据的前置操作其实就是要写入Undolog。1.Undo日志引入:事务需要保证原子性,也就是事务中的操作要么......
  • 「推荐收藏!」【MySQL技术之旅】(4)总结和盘点优化方案系列之常用SQL的优化
    概述前面我们介绍了MySQL中怎么样通过索引来优化查询。日常开发中,除了使用查询外,我们还会使用一些其他的常用SQL,比如INSERT、GROUPBY等。对于这些SQL语句,我们该怎么样进行......
  • MySql语句中,select和update使用case when then end笔记
    在日常项目中,mysql的casewhenthenend还是比较有意思的,请看例子:select的使用数据表结构:执行语句:SELECTcount(*),CASEWHENrole_countbetween1and100TH......
  • ububtu20.04下MySQL的安装及使用Navicat连接数据库
    ububtu20.04下最新版本MySQL的安装及使用Navicat连接数据库一、MySQL的安装先通过如下命令更新软件包:sudoapt-getupdate再通过如下命令安装MySQL:sudoapt......
  • Linux C 操作MySQL
    概述MySQL安装时,请确保安装了MySQL-server、MySQL-client、MySQL-devel。安装过程请参考:​​https://blog.51cto.com/weiyuqingcheng/5753459​​整理MySQLinclude目录#创......