ITPub博客

首页 > 数据库 > MySQL > MySQL入门--内存buffer pool

MySQL入门--内存buffer pool

MySQL 作者:panpong 时间:2019-05-28 08:54:12 0 删除 编辑

内存 buffer pool

MySQL 在启动时默认被分配给 512MB RAM ;其中 InnoDB buffer pool 用于缓存表数据、索引及其他的一些辅助缓冲池,为了高效的大量读, buffer pool 划分 pages ;为了高效进行缓存管理, buffer pool 应用多种 LRU ( least recently used )算法,将相邻的 page 串成链,管理冷热数据。

1)          配置 InnoDB Buffer Pool Size

innodb_buffer_pool_size 为控制 buffer pool 大小的参数,通常推荐系统内存的 50~70% 。默认值 128M 。 innodb_buffer_pool_size 参数 5.7 后可以在线调整,必须等于或整数倍 innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances ;

例如:

mysql> SET GLOBAL innodb_buffer_pool_size=402653184;

or my.cnf

[mysqld]

innodb_buffer_pool_size=402653184

 

l   innodb_buffer_pool_chunk_size 参数默认值 128M ,只能在启动时调整(命令行或者配置文件),且以 1M 为单位;

shell> mysqld --innodb-buffer-pool-chunk-size=134217728

 or my.cnf

 [mysqld]

         innodb_buffer_pool_chunk_size=134217728

         innodb_buffer_pool_instances default value is 1;

l   innodb_buffer_pool_instances 默认为 8 (or 1 if innodb_buffer_pool_size < 1GB) ,如果是 Windows 或者 32-bit platforms ,默认值为系统自动设置 (autosized); 其作用是划分 buffer pool 为多个区,提高并发效率。

2)          查询状态

mysql> SHOW STATUS WHERE Variable_name='InnoDB_buffer_pool_resize_status';

Buffer pool resizing progress is also logged in the server error log

 

3)          预载入 buffer pool

要在服务器启动时预载入 buffer pool ,请启用选项:

innodb_buffer_pool_dump_at_shutdown 和 innodb_buffer_pool_load_at_startup 。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16976507/viewspace-2645831/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
数据库工程师,熟悉Oracle,Postgresql,MySQL等主流关系型数据库运维,调优,一直活跃在运维一线。了解Python,Django,简单自动化运维系统开发。

注册时间:2009-03-06

  • 博文量
    142
  • 访问量
    392351