14.10.1 InnoDB Disk I/O
14.10 InnoDB Disk IO and File Space Management InnoDB 磁盘IO和文件空间管理: 14.10.1 InnoDB Disk I/O
14.10.2 File Space Management
14.10.3 InnoDB Checkpoints
14.10.4 Defragmenting a Table
14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 作为一个DBA,你必须管理disk I/O 来保持 I/O 子系统防止变的饱和, 管理磁盘空间来避免存储满存储设备。 ACID 设计模型需要一定数量的I/O,那个看起来是多余的, 但是有助于确保数据的可靠性。 在这些约束下, InnoDB 尝试优化数据库负载和磁盘文件组织来 最小化磁盘I/O总量。 有时候,I/O 是延迟的直到数据库不是那么繁忙,或者直到everything 需要被带到一致性状态, 比如在一个数据库重启在一个快速关闭。 这个章节描述主要因素对于I/O和磁盘空间 1. 控制 background I/O 的数量用于改善查询性能 2. 启用或者关闭提供额外的持久性 在代价为额外I/O的功能 3.组织表到很多的小表, 更少的大文件, 或者是两者的结合 4.平衡redo log 文件的大小 对I/O活动发生当log files 变满 5.如何重新组织一个表用于优化查询 14.10.1 InnoDB Disk I/O InnoDB 磁盘I/O InnoDB 使用异步 disk I/O 在可能的情况下, 通过创建多个threads 来处理I/O操作, 同时允许其他数据库操作来处理 当I/O是仍旧在进行中。 在Linux和Windows 平台,InnoDB 使用可用的OS和library 函数来执行 异步I/O, 在其他平台,InnoDB 仍旧使用I/O threads,但是the threads 可能实际等待I/O的请求来完成, 这种技术被认为是 模拟异步I/O。 Read-Ahead: 如果InnoDB 可以决定有一个高概率,数据可能马上需要,它执行read-ahead 操作 把数据加载到Buffer pool,这样就可以在内存里可用的。 几个大的大请求对于连续的数据是更加有效的相比做一些小的请求,分散的请求, 这里有两种预读算法在InnoDB: 1. 顺序预读, 如果InnoDB 选项发现访问模式到segment 在tablespace 是顺序的, 它提前post 一个批处理器读数据库页到I/O系统 2. 在一个随机预读,如果InnoDB 注意一些区域在一个tablespace 看起来被全部读入到buffer pool, 它post 剩下的读到I/O系统 Doublewrite Buffer InnoDB 使用一个新的文件刷新技术涉及一个结构称为doublewrite buffer, 默认启用 (innodb_doublewrite=ON).
mysql> show variables like '%innodb_doublewrite%';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| innodb_doublewrite | ON |
+--------------------+-------+
1 row in set (0.00 sec) 它增加安全的恢复在一个crash或者断电, 通过降低 fsync() operations.来提高性能 在写page 到一个数据文件,InnoDB 首先写他们到一个连续的tablespace area 称为 doublewrite buffer. 只有在write和flush 到 doublewrite buffer 已经完成 InnoDB 写pages到它们的合适的位置在数据文件里 。
如果没有一个操作系统,
存储子系统,或者mysqld 处理一个crash 在page中间
14.10.1 InnoDB Disk I/O的更多相关文章
- 14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE 回收操作系统磁盘空间当truncate 一个InnoDB ...
- 14.10.3 InnoDB Checkpoints InnoDB 检查点:
14.10.3 InnoDB Checkpoints InnoDB 检查点: 你的log files 变的很大可能会降低磁盘性能在checkpointing的时候, 它通常设置设置log files总 ...
- 14.6.1 InnoDB Startup Configuration 启动配置
14.6.1 InnoDB Startup Configuration 启动配置 首先描述关于InnoDB 配置设计数据库文件,日志文件,page size 和内存buffer 的配置. 推荐你定义数 ...
- 14.1.1 InnoDB as the Default MySQL Storage Engine
14.1 Introduction to InnoDB 14.1.1 InnoDB as the Default MySQL Storage Engine 14.1.2 Checking InnoDB ...
- 14.4.1 InnoDB Startup Configuration
14.4 InnoDB Configuration :InnoDB 配置: 14.4 InnoDB Configuration 14.4.1 InnoDB Startup Configuration ...
- [VirtualBox] Install Ubuntu 14.10 error 5 Input/output error
After you download the VirtualBox install package and install it (just defualt setting). Then you sh ...
- 14.2.3 InnoDB Redo Log
14.2.3 InnoDB Redo Log 14.2.3.1 Group Commit for Redo Log Flushing redo log 是一个基于磁盘数据结构的用于在crash 恢复正 ...
- 14.10.4 Defragmenting a Table 整理表
14.10.4 Defragmenting a Table 整理表: 随机插入或者删除从一个secondary index 可以导致index变的fragmented Fragmentation意味着 ...
- 14.10.2 File Space Management 文件空间管理:
14.10.2 File Space Management 文件空间管理: 数据文件 你定义在配置文件形成了InnoDB的系统表空间, 文件是逻辑连接形成表空间,没有条带化使用. 你不能定义你的表在表 ...
随机推荐
- mac 系统开发android,真机调试解决方式(无数的坑之后吐血总结)
近期学习android开发,安装了ADT开发环境之后,启动模拟器,慢的要死啊,全然不如苹果的好用,没法,自己买个android手机,准备联机调试程序.没想到在这个过程中,遇到了好多的坑,作为一个新人, ...
- 2057 A + B Again
A + B Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- 如何设置ssh安全只允许用户从指定的IP登陆
原文链接: 如何设置ssh安全只允许用户从指定的IP登陆 由于开发上传文件需要 在服务器上开启 允许用户名和密码ssh登录.这样不太安全.百度后参考文章现在ssh用户名和密码登录的ip. 登录服务 ...
- python几个排序函数 sort sorted argsort
Python中排序常用到的sort .sorted和argsort函数 [摘要:Python中sort 战 sorted函数 一 .先容 sort函数是list列表中的函数,而 sorted能够对li ...
- poj 1363 Rails in PopPush City &&【求堆栈中合法出栈顺序次数】
问题如下: 问题 B: Rails 时间限制: Sec 内存限制: MB 提交: 解决: [提交][状态][讨论版] 题目描述 There is a famous railway station in ...
- C# 7.0
C# 7.0 本文参考Roslyn项目中的Issue:#118. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性 ...
- Qt学习:线程间共享数据(使用信号槽传递数据,必须提前使用qRegisterMetaType来注册参数的类型)
Qt线程间共享数据主要有两种方式: 使用共享内存.即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的: 使用singal/slot机制,把数据 ...
- PLSQL Developer使用技巧整理(转)
一.工具-首选项-用户界面-编辑器-其它-显示行号二.工具-首选项-窗口类型-SQL窗口-显示隔号(行号) 在使用PL/SQL Developer对Procedure进行Debug时,突然发现无法Se ...
- OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析
环境:11.2.0.3(已安装数据库实例)+OEL5.7 192.168.1.55 zlm sid:zlm11g 192.168.1.60 zlm2 sid:zlm11g 一.安装软件,配置环境,创建 ...
- A_全然背包
/* copyright: Grant Yuan algorithm: 全然背包 time : 2014.7.18 __________________________________________ ...