innodb 体系结构:后台线程+innodb储存引擎内存池+文件
后台线程:matser+io+purge+page clear
master:数据异步刷新到磁盘,数据一致性。
show engine innnodb status\G;可以看到
io thread:1*insert buffer thread+1*log thread+4*read thread+4*write
purge:innodb_purge_threads:回使用分配的undo页
page clear:脏页刷新,缓解master的压力。
innodb储存引擎内存池:
information_schema.innodb_buffer_pool_status
innodb_buffer_pool_size:内存池大小
innodb_buffer_pool_instances:缓存池的实例的个数
内存池中的数据页类型:数据页,索引页,锁信息,自适应hash索引,插入缓存。
数据字典+重做日志缓存+额外的内存池
fix:内存-->缓存
checkpoint:缓存-->硬盘
内存中数据的管理:Freee LIst-->Lru List-->Flush List
Lru List:数据插入的位置midpoint,和普通的LRU还不一样,有热时的。
innodb_old_blocks_pct:默认为37,也就是说插入到尾端37/100的位置。
innodb_old_blocks_time:尾端的数据多久到前段,进入热点。也是就是page madeyoung.
innodb_lru_scan_depth:Lru 列表中可用页的数量,默认为1024
mysql支持压缩页;16=2*8=4*4=8*2.在engine innodb status可以看见unzip_Lru与zip_lru。
重做日志缓存:innodb_log_buffer_size
刷新机制:每秒/每个事务/空间可用小于50帕
checkpoint机制:
innodb是通过LSN标记版本号
Checkpoint:sharp Checkpoint+fuzzy Checkpoint
sharp Checkpoint:数据哭关闭的时候将所有脏页刷新回磁盘
fuzzy Checkpoint:只刷新部分脏页,(默认的方式)
innodb_fast_shutdown:1;sharp Checkpoint.其他:fuzzy Checkpoint
innodb_max_dirty_pages_pct:默认为75,当脏页大于75帕,强制刷新。
matser thread个工作模式:
loop+backgroup loop+flush loop+suspend loop
innodb关键特性:
insert buffer+double write+adaptive hash index+async io+flush neighbor page
innodb的关闭与启动:
innodb_fast_shutdown:关闭参数
0,数据库关闭所有的full purge与merge insert buffer
1,不需要完成所有的full purge与merge insert buffer,缓存池部分
2,不完成full purge与merge inset buffer
innodb_force_recovey:开启参数
有1-6可以选择,代表不同的恢复模式。
innodb体系结构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...