real application testing · 3 何时使用real application testing rat 是dbee 11g...

28
<在此处插入图片> Real Application Testing

Upload: others

Post on 29-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

<在此处插入图片>

Real Application Testing

Page 2: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

2

内容

•Real Application Testing 概述

•数据库重放

•SQL Performance Analyzer

•总结

Page 3: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

3

何时使用 Real Application TestingRAT 是 DBEE 11g 的一个选件,也是 Enterprise Manager 的组成部分

Oracle Enterprise Manager 价值主张:

管理从应用程序到 IT 基础架构的整个生命周期

Page 4: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

4

何时使用 Real Application Testing用于部署前测试和部署后的持续改进

部署后粒度诊断RAT 常常只用作临时迁移/升级工具

• 错误 — RAT 是提高 SQL 语句性能的日常工具

• 它能处理 DBA 最关注的两个问题:意外的 SQL 语句错误和数据库性能降低

• RAT 补充了数据库诊断和调优包

部署前实际负载测试RAT 测试所有类型的更改,不只是升级/迁移

• 基础架构发生更改时使用:数据库、硬件、存储、操作系统、迁移到 RAC 等。

• 通过提供对数据库层的实际负载测试补充了传统应用程序测试工具

• RAT 避免了与更改有关的事故,在降低风险的同时使 IT 更灵活、更健壮

Page 5: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

5

更改管理的生命周期

进行更改

建立测试环境

测试

诊断与解决问题

发现补丁和解决方法

诊断与管理问题

供应给生产环境

Real Application Testing

供应自动包

Page 6: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

6

•Real Application Testing 概述

•数据库重放

•SQL Performance Analyzer

•总结

Page 7: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

7

今天的测试生产环境 — 数千个真实的联机用户

生产环境

Page 8: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

8

今天的测试测试环境 — 1-2 名测试人员试图模拟数千个用户

生产环境 测试环境

Page 9: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

9

数据库重放捕获的数千个联机用户的负载

生产环境

捕获

负载

Page 10: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

10

数据库重放重放的数千个联机用户的负载

生产环境 测试环境

捕获 重放

负载

Page 11: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

11

数据库重放测试生产级的系统更改

生产环境 测试环境

捕获 重放

负载

Page 12: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

12

支持的更改

不支持的更改

支持的更改

•数据库升级、打补丁

•模式、参数

•RAC 节点、互连

•操作系统平台、操作系统升级

•CPU、内存

•存储

•等等

客户端

客户端

…客户端

中间层

存储

记录外部客户端请求

Page 13: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

13

数据库重放汇总报告

Page 14: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

14

数据库重放对比

测试工作量

测试范围

负载

数据库时间机

只有 Oracle 才能构建的技术

1-5% 的工作流

人工模拟负载

第三方

负载测试工具

•简单应用程序:数周•复杂应用程序:数月

•简单应用程序:数天•复杂应用程序:数天

实际应用程序负载

Oracle

数据库重放

100% 的工作流

Page 15: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

15

•Real Application Testing 概述

•数据库重放

•SQL Performance Analyzer

•总结

Page 16: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

16

SQL Performance Analyzer (SPA)SQL 单元性能测试

分析报告

比较

SQL 性能

更改后执行统计更改前执行统计

SQL 负载

• 识别应用程序 SQL 问题是否由系统更改造成

• 能够在性能问题影响最终用户前将其识别并解决

• 提供了快速假设分析以显示系统在不同设置时的表现

• 提供对个别 SQL 的细粒度性能分析

• 与计划基准和 SQL Tuning Advisor 集成以实现自动修正

Page 17: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

17

SPA 报告

4

1

3

2

5

Page 18: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

18

SPA:常见使用场景

• 数据库升级和补丁集版本

• 9.2/10.1 10.2 或 11.1 版本

• 10.2.0.x 10.2.0.y 或 11.1 版本

• 数据库参数更改

• 模式更改

• 优化器统计信息刷新

• 调优建议实施

• I/O 子系统更改

Page 19: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

19

SQL Performance Analyzer (SPA) 比较

否是,与 SQL Tuning

Advisor 和 SQL 计划管理集成

将解决方案传给生产环境

否,未与优化器集成是使用生产情境进行测试

否,需要显式轮询和外部存储

是捕获开销低

第三方

SQL 测试工具

Oracle

SPA

只有 Oracle 才能构建的技术

Page 20: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

20

•Real Application Testing 概述

•数据库重放

•SQL Performance Analyzer

•总结

Page 21: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

21

“光是数据库重放和 SQL 计划管理特性就值得您升级到 Oracle Database 11g”

Arup Nanda

高级总监Starwood Hotels & Resorts

Worldwide

信息来源:Oracle Real Application Testing — 通过卓越的测试实现业务灵活性,2008 年 1 月

Page 22: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

22

案例研究 1:Real Application Testing 在大型全球连锁酒店 (Starwood) 的应用

• 将面向客户的关键业务应用程序(提供房间预订费用)从 Oracle Database 10.2.0.4 升级至 11.1

• 高度易变数据(计划稳定性至关重要)• 使用复合查询测试以前的升级失败

挑战

• 使用 SQL Performance Analyzer 识别 SQL 性能降低• 使用 SQL Profile 以透明方式对 SQL 进行调优• 使用 SQL 计划基准实现计划稳定性

解决方案方法

优点• 升级非常成功。毋庸置疑!• 可预测的性能和 SLA

• 测试时间由 5 个月缩短到 10 天

Page 23: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

23

案例研究 1:大型全球连锁酒店解决的问题

• 升级前的问题• 数据的易变性导致有时基于陈旧的统计信息生成了无效的查询。

• 由于数据加载的大范围频繁更改的特性而无法维护良好的统计信息

• 绑定变量并非总是有所帮助

• 某些情况下由于数据库值的特性导致 Outline 损坏

• 升级到 Oracle Database 11g 后:• 未发现性能问题

• 可预测的查询性能和计划稳定性(由于计划基准)

• 提供计划更改的历史记录

• 由于自适应游标共享可以更有效使用绑定变量

Page 24: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

24

0

20

40

60

80

Tim

e T

ak

en

(D

ays)

Install & Setup Understand

Application

Usage

Identify Key

Transactions

Generate

Workload

Run Test

DB Replay

LoadRunner

2

20

54

80

2420

数据库重放:半个月

LoadRunner:7 个半月

总测试时间

500

案例研究 2:LoadRunner 与数据库重放比较测试 e-Business Suite

缩短为1/15

Page 25: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

25

“Oracle Real Application Testing 使测试更改所需的时间减少 80%、使测试成本降低 70%、通过减少意外中断次数降低了风险,并提高了其 IT 运营的服务质量。”

David Mitchell

OVUM 高级副总裁

信息来源:Oracle Real Application Testing — 通过卓越的测试实现业务灵活性,2008 年 1 月

Page 26: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

26

案例研究 3:甚至 SAP 也推荐 RAT

信息来源:SAP 2009 Development Update SAP on Oracle,21 页

Page 27: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

27

“Oracle Database 11g 将减少负责测试生产负载更改的DBA 的工作量。Data Guard 和 Real Application Testing

的配合如诗一般美妙,毋庸置疑,大多数车间将很快对该组合产生依赖”

Sean McCown

Infoworld 特约编辑

信息来源:Oracle Real Application Testing — 通过卓越的测试实现业务灵活性,2008 年 1 月

Page 28: Real Application Testing · 3 何时使用Real Application Testing RAT 是DBEE 11g 的一个选件,也是Enterprise Manager 的组成部分 Oracle Enterprise Manager 价值主张:

28

要点

• 大多数公司在引入更改后并没有充分测试其应用程序或者跳过了基础架构层测试。

• 这导致停机代价高昂、应用程序质量差、用户体验不佳、数据库性能低下和修正过程极为耗时

• 最新创新使得 Oracle DB* 的客户可以在投入生产环境前轻松、稳健、低成本地进行测试以实现业务灵活性

• 数据库重放和 SQL Performance Analyzer 是Real Application Testing 的特有功能,是竞争对手所无法比拟的。

• RAT 独立于应用程序,是对其他应用层自动测试解决方案和数据库诊断工具的补充。

RAT 不仅用于测试,也用于日常 SQL 性能调优

*目标数据库应为企业版 10g R2 或更高版本。