第九讲 数据库测试.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九讲 数据库测试

软件测试 数据库测试 基于数据库服务器的测试 Oracle故障诊断 为了分析故障位置,将故障诊断数据(Oracle Diagnostics)与交易执行响应时间(Transaction Response Time)数据关联起来。 例如:某交易 “enter”的平均响应时间高,使用故障诊断(Oracle diagnostics),就可以查找到是什么原因导致了这个问题。 Oracle故障诊断 利用故障诊断的方法(Oracle DB Side Transactions by SQL Stage)可以将SQL语句执行过程中的时间划分为四部分: 解析时间(Parse Time) 执行时间(Execute Time) 读取时间(Fetch Time) 其他时间(Other Time),例如绑定时间(bind time)。 Oracle故障诊断 SQL执行时间分解 数据库服务器典型性能问题 数据库服务器性能问题及原因分析 单一类型事务响应时间过长 数据库服务器负载 糟糕的数据库设计 事务粒度过大 批任务对普通用户性能的影响 并发处理能力差 锁冲突严重 资源锁定造成的数据库事务超时 数据库死锁 数据库服务器典型性能问题 数据库性能问题的一般解决办法 监视性能相关数据; 定位资源占用较大的事务并做出必要的优化或调整; 定位锁冲突,修改锁冲突发生严重的应用逻辑; 对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布。 Oracle与提高性能有关的特性 索引 并行执行 簇与散列簇 分区 多线程服务器 同时读取多块数据 Oracle配置的关键参数 MAX_DSPATCHERS:这个参数指定了系统允许同时进行的调度进程的最大数量。 MAX_SHARED_SERVERS:这个参数指定了系统允许同时进行的共享服务器进程的最大数量。如果系统中出现的人为死锁过于频繁,那么管理员应该增大这个参数的值。 PARALLEL_ADAPTIVE_MULTI_USER:当这个参数的值为TRUE时,系统将启动一个能提高使用并行执行的多用户系统性能的自适应算法。这个算法将根据查询开始时的系统负载自动降低查询请求的并行度。 Oracle配置的关键参数 PARLLEL_MIN_SERVERS:这个参数指定了实例并行执行进程的最小数量。其值就是实例启动时Oracle创建的并行执行进程数。 PARLLEL_THREADS_PER_CPU:这个参数指定了实例默认的并行度和并行自适应以及负载平衡算法。它指明了并行执行过程中一个CPU能处理的进程或线程数。 PARTITION_VIEW_ENABLED:这个参数指定了优化器是否使用分区视图。Oracle推荐用户使用分区表(这是在Oracle8之后引入的)而不是分区视图。分区视图只是为了提供Oracle的后向兼容性。 REVOVERY_PARALLELISM:这个参数指定了恢复数据库系统时使用的进程数。 Oracle数据库性能测试 Oracle系统性能测试的目标: 模拟数据库系统的数据负载,操作,侦测和获取性能测试数据, 帮助开发和DBA来优化和调整数据库或者应用程序. 最终的结果是获取更快的数据库响应速度或者更高吞度能力. Oracle系统性能测试的本质 硬件 (CPU, Memory, I/O竞争等) 系统配置 (SGA/PGA) 应用程序(SQL, PL-SQL) 网络连接 Oralce系统性能测试的范围 应用程序调优-For Application developer SQL语句测试调优 Thin, OCI测试 Schema 对象调优-For Database developer Schema(表,索引,存储过程)设计 PL-SQL语句和调用 数据复制 系统参数调优-For DBA 内存/CPU/I/O竞争/网络 SGA配置 动态表空间估计 分区表,索引设计 数据库性能测试 大数据量测试 大容量测试 性能测试过程和策略 理解测试需求: 是校验测试还是基准测试? 是单个用户大数据量测试还是多个用户并发测试? 什么地方是可能的性能瓶颈? 可能是哪个方面的性能测试? (应用程序or系统参数or Schema对象) 选择测试工具 页面级的辅助测试工具: JMeter, Webload etc 第三方监控程序: 如DB Flash, 或者有些通过log文件, 来监控动态的访问路径, 高占用的进程,会话和SQL语句 基于数据库服务器的测试 自定义或者常用的命令, 来动态监控和获取执行SQL, PL-SQL所需要的时间, 占用的CPU和内存资源. 数据库系统本身的性能工具包, 如在Oracle中使用的Explain Plan, AutoTrace, PKPROF以及Statspack. 设计测试场景以

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档