版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在在实践中体验实践中体验Oracle 数据库的优越性能数据库的优越性能Leng Tan,Bo Chen甲骨文公司甲骨文公司主题主题 真实体验 Oracle9i 数据库 马上获取 Oracle 数据库 10g 的性能优势 采用 Oracle 数据库 10g 的主要 ISV 客户案例分析使用 Oracle 性能方法调整基于 Oracle 的大型应用程序主题主题 真实体验 Oracle9i 数据库 马上获取 Oracle 数据库 10g 的性能优势 采用 Oracle 数据库 10g 的主要 ISV 客户案例分析使用 Oracle 性能方法调整基于 Oracle 的大型应用程序简化简化 init.o
2、ra Oracle 提供了许多可调整的参数但最好不要随便调整! 除了少数几个内存缓冲区调整参数外,仅在理由充分的情况下才修改参数 随意修改 init.ora 将减慢系统速度 默认配置经过了全面测试和慎重权衡 移植到 10g 以消除非标准化参数设置极好的特性源自优良的设计极好的特性源自优良的设计 每个 Oracle 数据库版本都引入了极好的特性,从而提高了性能 但高性能的关键始终要归于出色的设计良好的数据模型、表以及索引设计强健、精致的 SQL 新特性不能补偿低劣的设计 但良好的设计可充分发挥诸如并行机制、分区、新数据结构等特性。64 位计算的优缺点位计算的优缺点 64 位计算正在流行 但 32
3、 位服务器仍然占据着最大的市场份额 64 位并非一定意味着更快 诚然,更大的缓冲区高速缓存和排序区意味着更少的 I/O 操作和随之而来的速度提升 但更大的工作集(长指针等)将降低 CPU 效率 请慎重考虑什么最适合您的应用程序使用并行机制和分区使用并行机制和分区 分区是一个极好的管理特性,能加速加载和清除过程 与并行操作结合,将使此特性更加突出 使用范围和列表组合分区清除查询数据 使用散列分区优化连接和并行 DML更好地管理更好地管理 CBO CBO 是一种强健的智能工具请勿滥用;它将提供有意义的统计信息 不要对 CBO 期望过高它无法猜测查询的目的;必须根据编写的代码执行操作 利用 CBO
4、计划了解优化应用程序的更好方式 CBO 可自动运行多项功能 ;请确保您已熟悉正在使用的优化器在 10g 中这不是问题,其中 CBO 就是优化器主题主题 真实体验 Oracle9i 数据库 马上获取 Oracle 数据库 10g 的性能优势 采用 Oracle 数据库 10g 的主要 ISV 客户案例分析使用 Oracle 性能方法调整基于 Oracle 的大型应用程序RBO-CBO 在 10g 中正式取消了对 RBO 的支持 为移植到 CBO 的 RBO 客户Oracle 已经测试了非常多的语句但是数据的偏差和应用程序的特定情况可能导致不是很理想的的计划 开发了一个维护统计信息的良好方案 监视
5、 RBO 特有的 SQL 例如,禁用索引访问的 col1+0 = :1 和 col2| = :2 作为移植的一部分,重新编写了某些 SQLPL/SQL 改善改善 新的 PL/SQL 优化编译器更复杂的代码生成器全局代码优化器性能提高且代码规模缩小 全面支持本地编译 编译时性能警告不再有不再有 DUAL 引用 DUAL 来获取时间戳记、增量序列等 在大型 SMP 上,与 DUAL 相关的缓冲区缓存链锁序列化将降低可伸缩性 在 10g 中,DUAL 变为一个行源,消除了问题 要检查 DUAL 对于您的 9i 应用程序是否有影响,请使用 X$DUAL 代替 DUAL 进行测试散列分区索引散列分区索引
6、 在 INSERT 密集的应用程序中,主键的索引维护将是序列化的关键 对于非常大的配置(SMP 或 RAC)更是如此 通过对索引进行散列分区,以消除问题使用一组温和点替代一个热点LOB 增强增强 10g 中的 LOB 代码路径已显著简化现在几乎和 LONG RAW 的代码路径一样简单 最优的 LOB 设计取决于工作负载以及内存和磁盘使的用率 尽量避免由于缓冲区缓存的大小变化和泛滥而引起的内联到外联的 LOB 移植ETL:数据泵实用工具数据泵实用工具 高速的“数据泵”导入/导出替代了原来的导出和导入功能新的集成的结构带有文档说明的程序包接口高速的直接路径加载/卸载最优地随取随用运行利用并行机制执
7、行自动伸缩主题主题 真实体验 Oracle9i 数据库 马上获取 Oracle 数据库 10g 的性能优势 采用 Oracle 数据库 10g 的主要 ISV 客户案例分析使用 Oracle 性能方法调整基于 Oracle 的大型应用程序采用采用 10g 的的 ISV SAP 计划在 2005 年第 1 季度认证 10g PeopleSoft 将在 2004 年秋季认证 10g Siebel 正在积极研究 10g 特性,并可能在 10g 上开发 7.8 版Siebel 没有在新的 Oracle 版本上认证其以前的版本当前的 Siebel 版本 (7.7) 在 9iR2 上通过了认证主题主题 真
8、实体验 Oracle9i 数据库 Oracle 数据库 10g 即时性能的好处 采用 Oracle 数据库 10g 的主要 ISV 客户案例分析使用 Oracle 性能方法调整基于 Oracle 的大型应用程序背景背景 客户是一个中国大型电信设备供应商 调整的应用程序肩负重要任务,并且主要使用 Oracle 数据库Oracle 性能方法性能方法1.从用户那里获取关于性能问题范围的真实反馈,此步骤为定义问题。2.获取一组完整的操作系统、数据库和应用程序统计信息,然后检查主机系统和Oracle 统计信息,以寻找证据。3.参考常见性能错误列表,以查看收集的数据是哪些因素造成了性能问题。4.使用收集的
9、性能数据建立一个系统状况概念模型。5.提出修改建议以及实施修改的预期结果,然后, 实施并测量应用程序的性能变化。6.确定是否达到了第 1 步中定义的性能目标。如果没有达到,重复第 5 步和第 6 步,直到达到性能目标。配置配置 模型:HP rp7410 操作系统:HP-UX 11.11 64 位 CPU: 8 RAM: 4GB 交换空间: 4GB 磁盘阵列:VA74 系列 Oracle9i 数据库第 2 版 v9.2.0.3 64 位瓶颈识别:瓶颈识别:Statspack负载概要 每秒 每个事务 - - 重做大小: 42,887.13 586.52瓶颈识别(续)瓶颈识别(续)事件 等待 超时
10、总等待 平均等待 等待 时间(秒)(毫秒) /txn- - - - - -日志文件同步 91,907 0 2,067 22 1.0瓶颈识别(续)瓶颈识别(续)最耗时的前 5 个事件 总花费时间事件 等待 时间 (s) 百分比- - - -日志文件同步 91,907 2,067 81.78日志文件并行写操作 48,898 252 9.95CPU 时间 183 7.23数据库文件并行写操作 180 14 .55控制文件并行写操作 211 6 .25 -RAID 5 - RAID 0+1最耗时的前 5 个事件 总花费时间事件 等待 时间 (s) 百分比- - - -日志文件同步 59,932 138
11、 47.93CPU 时间 103 35.84日志文件并行写操作 58,647 34 11.89缓冲区忙等待 7,377 5 1.90数据库文件序列读取 747 3 .97 RAID 5 - RAID 0+1(续)续) 总等待 等待 平均等待事件 等待 超时 时间(秒) (毫秒) /txn- - - - - -日志文件同步 59,932 79 138 2 1.0减少缓冲区忙等待减少缓冲区忙等待 之前最耗时的前 5 个事件 总花费时间事件 等待 时间 (s) 百分比- - - -日志文件同步 122,187 261 47.84CPU 时间 208 38.11日志文件并行写操作 112,935 57
12、 10.52缓冲区忙等待 14,598 9 1.56减少并发块访问减少并发块访问 之后最耗时的前 5 个事件 总花费时间事件 等待 时间 (s) 百分比- - - -日志文件同步 419,342 912 49.82CPU 时间 696 38.00日志文件并行写操作 385,307 199 10.85数据库文件并行写操作 851 9 .51锁释放 14,310 5 .30 -异步异步 I/O 操作系统内核参数Max_async_ports=200Aio_max_ops=2048 重新编译并重新链接 Oracle 可执行文件索引编排表索引编排表 将频繁更新/引用的表创建为 IOT,以使查询运行更快
13、并显著减少物理读操作。在使用在使用 IOT 之前之前对于 数据库:HPORA 例程:hpora1 快照:72 74 的每个段前 5 位最频繁的物理读操作 所有者 表空间 对象名称 对象类型 物理读操作 总百分比- - - - - -OPS$SCPQT DATA2 BASETAB_PPS TABLE 11,449 99.96使用使用 IOT对于 数据库:HPORA 例程:hpora1 快照:72 74 的每个段前 5 位最频繁的物理读操作 所有者 表空间 对象名称 对象类型 物理读操作 总百分比- - - - - -OPS$SCPQT DATA2 SYS_IOT_OVER TABLE 351 5
14、4.25OPS$SCPQT DATA2 SYS_IOT_TOP INDEX 296 45.75 -使用增量检查点使用增量检查点 之前 负载概要 每秒 每个事务 - - 重做大小: 227,895.29 579.94 逻辑读操作: 4,736.39 12.05 块变化: 1,966.75 5.00 物理读操作: 1.18 0.00 物理写操作: 99.17 0.25 事务: 92.96禁用增量检查点禁用增量检查点 之后负载概要 每秒 每个事务 - - 重做大小: 229,152.73 577.76 逻辑读操作: 4,765.70 12.02 块变化: 1,984.47 5.00 物理读操作: 2
15、.12 0.01 物理写操作: 53.60 0.14 事务: 396.62Keep 池池 频繁引用的表存储在 KEEP POOL 中,以减少物理读操作OCI 优化优化 语句缓存 OCI_COMMIT_ON_SUCCESS PREFETCH传统的语句缓存:传统的语句缓存:OCIStmtPrepareOCIBindByPosOCIParamGetOCIDefineByPosOCIStmtFetchOCIAttrGetOCIStmtExecute优化的语句缓存:优化的语句缓存:OCIStmtPrepareOCIBindByPosOCIParamGetOCIDefineByPosOCIStmtFetchOCIAttrGetOCIStmtExecute伪代码伪代码int cachePos = getStmtFromCache(slctStmt, &isCacheMiss);if Cache Miss step 1: Prepare the SQL statementstep 2: Bind all parameters to the place-holders in SQL statement step 3: Execute the SQL statementif Cache Miss step 4: Get the number of the returned
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业规划概述与要点
- 森林调查技术试题及答案
- 血脂异常管理服务规范考核试题及答案
- 2025年临床执业医师《卫生法规》考核卷
- 药品储存与养护试题及答案
- 医保政策培训考试试题及答案
- 医疗(安全)不良事件报告管理制度(2026年版)
- 维州驾照考试题目及答案
- 工程机械4-水泥混凝土路面机械
- 市物业管理实施细则模板
- 校园安全从我做起
- 2024年9月21日九江市五类人员面试真题及答案解析
- 项目部管理人员节后复工安全教育
- 2025年人力资源管理师(二级)案例分析专项训练试卷及答案
- 2025年-2023版思想道德与法治课件南开第一章 领悟人生真谛 把握人生方向-新版
- 吊装安全培训课件
- 2026年益阳师范高等专科学校单招职业技能测试必刷测试卷及答案1套
- 2025年临床执业助理医师资格考试真题试卷(+答案)
- 2025年贵州遵义市中考英语考试真题带答案
- 建设单位与勘察单位安全生产责任书
- 水泥企业复产前安全培训课件
评论
0/150
提交评论