MySQL · 引擎特性 · InnoDB 文件系统之IO系统和内存管理

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

MySQL · 引擎特性 · InnoDB 文件系统之IO系统和内存管理

db匠 2016-05-23 15:39:05 浏览2687
展开阅读全文

综述

前一篇我们介绍了InnoDB文件系统的物理结构,本篇我们继续介绍InnoDB文件系统的IO接口和内存管理。

为了管理磁盘文件的读写操作,InnoDB设计了一套文件IO操作接口,提供了同步IO和异步IO两种文件读写方式。针对异步IO,支持两种方式:一种是Native AIO,这需要你在编译阶段加上LibAio的Dev包,另外一种是simulated aio模式,InnoDB早期实现了一套系统来模拟异步IO,但现在Native Aio已经很成熟了,并且Simulated Aio本身存在性能问题,建议生产环境开启Native Aio模式。

对于数据读操作,通常用户线程触发的数据块请求读是同步读,如果开启了数据预读机制的话,预读的数据块则为异步读,由后台IO线程进行。其他后台线程也会触发数据读操作,例如Purge线程在无效数据清理,会读

网友评论

登录后评论
0/500
评论
db匠
+ 关注
所属云栖号: 阿里云数据库ApsaraDB