最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQLCheckpoint机制_MySQL

来源:动视网 责编:小采 时间:2020-11-09 19:39:51
文档

MySQLCheckpoint机制_MySQL

MySQLCheckpoint机制_MySQL:checkpoint干的事情: 将缓冲池中的脏页刷新回磁盘,不同之处在于每次从哪里取多少脏页刷新到磁盘,以及什么时候触发checkpoint。 checkpoint解决的问题: 1.缩短数据库的恢复时间(数据库宕机时,不需要重做所有的日志,因checkpoint之前的页都已经
推荐度:
导读MySQLCheckpoint机制_MySQL:checkpoint干的事情: 将缓冲池中的脏页刷新回磁盘,不同之处在于每次从哪里取多少脏页刷新到磁盘,以及什么时候触发checkpoint。 checkpoint解决的问题: 1.缩短数据库的恢复时间(数据库宕机时,不需要重做所有的日志,因checkpoint之前的页都已经


checkpoint干的事情: 将缓冲池中的脏页刷新回磁盘,不同之处在于每次从哪里取多少脏页刷新到磁盘,以及什么时候触发checkpoint。 checkpoint解决的问题: 1.缩短数据库的恢复时间(数据库宕机时,不需要重做所有的日志,因checkpoint之前的页都已经刷新回磁盘啦) 2.缓冲池不够用时,将脏页刷新到磁盘(缓冲池不够用时,根据LRU算会溢出最近最少使用的页,若此页为脏页,需要强制执行checkpoint将脏也刷回磁盘) 3.重做日志不可用时,刷新脏页(采用循环使用的,并不是无限增大。当重用时,此时的重做日志还需要使用,就必须强制执行checkpoint将脏页刷回磁盘) checkpoint分类: 1.Sharp Checkpoint 发生在数据库关闭时将所有的脏页刷回磁盘,这是默认的。通过参数 innodb_fast_shutdown=1来设置。 2.Fuzzy Checkpoint 在InnoDB存储引擎内部使用Fuzzy Checkpoint进行页的刷新,即只刷新一部分脏页,而不是全部刷新。大致分为以下几种情况: a.Master Thread Checkpoint 差不多以每秒或者每十秒从缓冲池的脏页列表(Flush列表),这是异步操作,InnoDB存储引擎可以进行其他的操作部分不会发生堵塞。 b.FLUSH_LUR_LIST Checkpoint InnoDB存储引擎需要保证LRU列表中有差不多100个空闲页可供使用。在InnoDB1.1.X版本之前,需要检查LRU列表中是否有足够的可用空间操作发生在用户查询线程中,显然这会阻塞用户的查询操作。倘若没有100个空闲页,那么InnoDB存储引擎会将LRU列表尾端的页移除,如果这些页中有脏页,那么需要进行Checkpoint,而这些来自于LRU列表的被称为FLUSH_LRU_LIST Checkpoint。但是在MySQL5.6版本后这个检查被放在了一个单独的Page Cleaner Thread中进行,通过参数innodb_lru_scan_depth来设置可用页的数量。 c.Async/Sync Flush Checkpoint 在重做日志文件不可用的情况下,需要将一些也刷新回磁盘,而操作发生在Flush列表上。若将已经写入到重做日志的LSN记为redo_lsn,将已经刷新回磁盘最新的LSN记为checkpoint_lsn,则可以定义:checkpoint_age = redo_lsn-checkpoint_lsn在定义一下的变量async_water_mark=75%*total_redo_log_file_size、sync_water_mark=90%*total_redo_file_size。若每个重做日志的大小为1G且定义了两个重做日志共2G。那么async_water_mark=1.5G,sync_water_mark=1.8G。 当checkpoint_agesync_water_mark时,这种情况很少发生除非设置的重做日志文件太小,并且进行类似于LOAD DATA的BULK INSRET操作。这个时候触发Sync Flush从Flush列表刷新足够的脏页会磁盘,使得刷新后满足checkpoint_age var cpro_id = "u6292429";

文档

MySQLCheckpoint机制_MySQL

MySQLCheckpoint机制_MySQL:checkpoint干的事情: 将缓冲池中的脏页刷新回磁盘,不同之处在于每次从哪里取多少脏页刷新到磁盘,以及什么时候触发checkpoint。 checkpoint解决的问题: 1.缩短数据库的恢复时间(数据库宕机时,不需要重做所有的日志,因checkpoint之前的页都已经
推荐度:
标签: mysql 机制 Checkpoint
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top