首页 > 数据库 > 文库 > 正文

innodb新特征之buffer pool预热

2024-09-07 22:12:44
字体:
来源:转载
供稿:网友
        innodb buffer pool做为innodb最重要的缓存,其缓存命中率的高低会直接影响数据库的性能。因此在数据库发生变更,比如重启、主备切换实例迁移等等,innodb buffer pool 需要一段时间预热,期间数据库的性能会受到明显影响。 另外mysql 5.7以前innodb buffer pool缓存大小修改不是动态的,重启才能生效。因此innodb buffer pool的预热和innodb buffer pool大小的动态修改,对性能要求较高的应用来说是不错的特性,下面我来看看这两个特性的具体实现。
 
       buffer pool 预热
      MySQL 5.6以后支持buffer pool预热功能。引入了以下参数, 参数具体含义参见 官方文档。
 
select * from performance_schema.events_stages_current;
THREAD_ID       19
EVENT_ID        1367
END_EVENT_ID    NULL
EVENT_NAME      stage/innodb/buffer pool loadSOURCE  buf0dump.cc:619TIMER_START     33393877311000TIMER_END       33398961258000TIMER_WAIT      5083947000WORK_COMPLETED  0WORK_ESTIMATED  1440NESTING_EVENT_ID        NULLNESTING_EVENT_TYPE      NULL
WORK_ESTIMATED表示总page数 WORK_COMPLETED表示当前已load page数
 
dump文件的数据格式如下
 
#cat ib_buffer_pool |more0,70,10,30,20,40,110,50,6
dump文件比较简单,我们可以编辑此文件来预加载指定page,比较灵活。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表