内容简介:影子表并不是一个数据库的特殊功能,简单来说只是和原表结构一致但是名字不一样的普通表而已。所以创建影子表并不需要特别的操作,根据数据库中间件的支持规则创建就行了。buffer pool是一个缓存数据和索引信息到内存的存储区,简单理解就是一个热数据区,或者叫缓存。具体的配置和计算比较复杂,但是总体而言,buffer pool命中率越高,性能越好。因为影子表的数据是冷数据,这一部分数据并不在buffer pool中,需要逐步加载到内存中,因此需要预热过程。如果没有预热,会出现性能问题,但是这一部分并不是我们期待的
影子表和buffer pool
影子表并不是一个数据库的特殊功能,简单来说只是和原表结构一致但是名字不一样的普通表而已。所以创建影子表并不需要特别的操作,根据数据库中间件的支持规则创建就行了。
buffer pool是一个缓存数据和索引信息到内存的存储区,简单理解就是一个热数据区,或者叫缓存。具体的配置和计算比较复杂,但是总体而言,buffer pool命中率越高,性能越好。
预热的价值
因为影子表的数据是冷数据,这一部分数据并不在buffer pool中,需要逐步加载到内存中,因此需要预热过程。如果没有预热,会出现性能问题,但是这一部分并不是我们期待的,因为线上buffer pool中是包含了真实数据的。
执行预热
执行预热就是低流量的压测,让影子表的数据被访问到,并加载到buffer pool中。
其次就是执行预热前,需要先dump出线上的buffer pool,然后在压测完成重新load之前导出的buffer pool。
其他要点
预热的时候要注意因为buffer pool的空间是公用的,要注意不要让影子表的数据影响线上数据了。业务高峰期很难成功,因为线上的流量大,真实数据占用buffer pool的量比较大,预热数据的buffer很快就被线上请求踢出。
预热时要密切观察慢查询的量,有问题就需要降速或者停止,严重的情况还需要在DB上kill查询,并重新加载buffer pool。
以上所述就是小编给大家介绍的《压测前的影子表预热》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- “影子经纪人”泄露文件情况分析
- 没有预热,不叫高并发,叫并发高
- 华为官方预热EMUI 10,打破终端边界!
- Go 语言基础入门系列教程 —— 预热篇
- 新的 Vue Function-based API 当中的看到的 Clojure 的影子
- ECCV 2018 德国慕尼黑召开,来份 tutorial 预热 | ECCV 2018
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。