没有合适的资源?快使用搜索试试~ 我知道了~
MySQL 5.5 新特性介绍和性能评估
5星 · 超过95%的资源 需积分: 10 42 下载量 33 浏览量
2012-01-01
03:18:13
上传
评论 1
收藏 382KB PDF 举报
温馨提示
试读
27页
详细在这里 : http://write.blog.csdn.net/postedit/7169839
资源推荐
资源详情
资源评论
MySQL 5.5 新特性介绍和性能评估
顾春江
2010 12年, 月
目 录
概要..........................................................................................................................4
性能上的改进..............................................................................................................5
InnoDB 成为默认的数据库引擎...................................................................................5
改进事务中对元数据的加锁机制.................................................................................5
提升 MySQL 在 win32/64 系统上的性能........................................................................5
InnoDB 数据恢复效率大大提升...................................................................................5
InnoDB 同时支持多个 BufferPool 实例..........................................................................6
InnoDB 同时支持多个回滚段......................................................................................6
InnoDB 提升默认的并发线程策略...............................................................................6
InnoDB 细粒度控制后台 I/O 线程数量..........................................................................6
InnoDB 可配置的主线程 I/O 速率................................................................................6
InnoDB 可控制的自适应 hash 索引操作........................................................................6
InnoDB 重新支持批量日志写入...................................................................................6
Linux 平台原生异步 I/O 支持......................................................................................6
Linux 平台原生原子操作支持.....................................................................................7
支持扩展的数据变化缓冲..........................................................................................7
扩展性方面的提升.......................................................................................................8
Log Sys Mutex 和 Flush List Mutex 粒度更细..................................................................8
数据页 GC 逻辑从主线程中剥离.................................................................................8
可用性方方面的提升....................................................................................................9
(半同步复制 Google Patch)..................................................................................................................9
复制心跳................................................................................................................9
自动 Relay Log 恢复..................................................................................................9
管理和效率方面的提升...............................................................................................10
快速索引创建........................................................................................................10
高效数据压缩........................................................................................................10
新的 Performance Schema..................................................................................................................10
新参数解释...............................................................................................................11
Innodb_use_native_aio........................................................................................................................11
Innodb_buffer_pool_instance..............................................................................................................12
Innodb_change_buffering....................................................................................................................12
Innodb_purge_threads.........................................................................................................................13
Innodb_purge_batch_size....................................................................................................................14
性能测试..................................................................................................................15
测试目的..............................................................................................................15
机器配置..............................................................................................................15
Linux 配置.........................................................................................................15
服务器存储性能测试...............................................................................................15
只读 IOPS 测试..................................................................................................16
配置.............................................................................................................16
测试结果.......................................................................................................16
只读带宽测试....................................................................................................17
配置.............................................................................................................17
测试结果.......................................................................................................17
只写 IOPS 测试...................................................................................................17
配置.............................................................................................................18
测试结果.......................................................................................................18
只写带宽测试....................................................................................................19
配置.............................................................................................................19
测试结果.......................................................................................................19
读写 IOPS 测试...................................................................................................19
配置.............................................................................................................20
测试结果.......................................................................................................20
MySQL 性能图表...................................................................................................21
MySQL 配置......................................................................................................21
MySQL 5.5.8 配置...........................................................................................21
MySQL 5.1.54 配置..........................................................................................22
MyISAM 引擎只读测试.......................................................................................22
MyISAM 引擎读写测试.......................................................................................23
InnoDB 引擎只读测试..........................................................................................23
InnoDB 引擎读写测试..........................................................................................24
MySQL InnoDB 引擎 TPC-C 测试...........................................................................25
MySQL 5.5.8 tpcc-mysql 输出............................................................................25
MySQL 5.1.54 tpcc-mysql 输出...........................................................................26
测试结果..............................................................................................................27
概要
MySQL 5.5 GA 作为 Oracle 接管 MySQL Ab 之后的第一个里程碑式的 GA,不仅在 Oracle 自身的
LAMP /软件堆叠中有非常重要的含义,而且在功能和性能 扩展性上有较为显著的提升,从总的特性上来看,
MySQL5.5GA 将非常适合基于 web 的应用程序,很多的优化的目的都是改进并发,如对多核 CPU 的高效
利用,对大量并发连接请求的处理等。
总的来说,有如下改进:
• MySQL 全面改用 CMake 作为主编译系统
• InnoDB 成为默认引擎
• InnoDB 在存储,管理和性能方面都有很大改进
• MySQL 在 Win 平台上的性能开始追至和其他平台相差无几的状况
• 全面支持多核对称 CPU
• 复制能够被更好地监控和管理
• 执行 SQL 语句时支持自定义异常处理并可将异常抛会调用程序
• (新增性能模式库 Performance Schema)
性能上的改进
InnoDB 成为默认的数据库引擎
MySQL 5.5 GA 的一个非常重要的改变是把 InnoDB 作为了 MySQL 5.5的默认引擎,应该说在 以前,
MyISAM 作为 MySQL 的默认引擎的表现还是非常好的,包括很高的读取速度和简洁的存储文件结构以及
基于 MyISAM 原子操作的快速堆添加写入。不过作为数据库的引擎,MyISAM 还缺乏兼容 ACID 的事务,
而且现在 InnoDB 1.1已经开发到版本 ,代码已经在架构级做了重构,并且在并发和失败恢复上有了很大改
进,而且新版本可以把 InnoDB 静态编译进 MySQL 的主代码。同时也是因为版权不再成为问题,MySQL
5.5 Ga 将采用 InnoDB 作为默认的数据库引擎。
InnoDB 1.1 的文件格式代号为 Barracuda,支持 DYNAMIC 和 COMPRESSED 行格式。DYNAMIC
支持将表的 PrimaryKey 全部缓存在内存(但如果其中包含 TEXT 和 BLOB,那这些仍将保存在磁盘),
避免主键查询引起的 I/O COMPRESSED; 支持数据压缩和索引压缩。MPB
1
上有个例子,DYNAMIC 行
60格式能够在 GB 30%左右的原始表数据的基础上降低 左右的 I/O COMPRESSED; 60能够把 GB 左右
5的表压缩到 GB 左右,同时 I/O 5%降到 左右,CPU 5%降到 (原来大量的 await 100), 倍左右的主键查
询速度提升。
改进事务中对元数据的加锁机制
MySQL 5.5 GA 也有在 SQL 解析器上的改进,新版本改进了事务引擎的表级锁完整性。 原来的版本是
这样的: 在某个事务执行过程中,如果某个表被事务里的语句引用,那么在这个语句的执行过程中,这个表
上会有 DDL 排它锁,当这个语句执行完后(可能事务还没有结束),这个表上的 DDL 排它锁将会被释放,
可能会造成非法事务。新版本把这个锁的时效一直延续到事务结束,避免 DBA 的一些正常操作以至于破坏
事务完整性。
提升 MySQL 在 win32/64 系统上的性能
这次的改进是把原来的在 win 平台上相对比较慢的 MySQL 拉回到和 Linux 平台差不多的状况,有下面几
个改变比较重要:
• 新版本的 mutex 和锁实现开始采用原生 Windows 同步原语(CRITICAL_SECTIONs,Semaphores 对
象),大量减少 Windows Events 的产生(原来用的是 event 对象),同时也大量减少了 MySQL
处理事件回调的次数。
• 新版本的读写相关的锁实现开始采用原生 Windows 原子操作和 Pthreads
• 新版本默认采用 Windows 本地系统内存分配器
• 其他版本的一些优化补丁也在 Windows 版本上应用
• 解决了很多 Windows 版本特有的 bug
这样,MySQL 会在 Windows 平台上成为 SQL Server 很好的补充。
InnoDB 数据恢复效率大大提升
MySQL 实例失败后,InnoDB 的表可能会损坏,下次启动 MySQL 实例的时候,系统会自动做失败恢复。
原来的恢复策略需要不断检查 InnoDB 的 buffer pool 的大小,以避免被存储恢复用的 redo log 的 hash
table 充满,导致有 O(n * m) (的时间复杂度 n )是线性的,会很大 ,新版本
1
-引入红 黑树来做插入排序的中间
1 Real-Life Use Case for “Barracuda” InnoDB File Format
1 InnoDB recovery is now faster…much faster!
剩余26页未读,继续阅读
资源评论
- myactcn2012-08-16非常详细,还有评测结果,不错
- MyACC2013-05-29不错,非常详细的文档
- cw7602014-02-25非常详细,谢谢分享
coollen_mmx
- 粉丝: 51
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功