Oracle Smart Flash 新特性性能测试说明

  • 1.1测试之前的工作
    • 1.1.1 Oracle Smart Cache简介
    • 1.1.2 Oacle Smart Cache测试方向
    • 1.1.3 Oacle Smart Cache 测试环境
    • 1.1.4 Oracle Smart Cache测试实现办法
      • 1.1.4.1 准备工作
      • 1.4.1.2 设置数据库相关参数
    • 1.1.5 Oracle Smart Cache 测试关键点
    • 1.1.6 Oracle Smart Cache 测试标准点
  • 1.2 测试过程
    • 1.2.1 Oracle Smart Cache 开启
    • 1.2.2 Oracle Smart Cache 关闭
  • 1.3 测试结果数据整合
    • 1.3.1 Sql语句执行时间
    • 1.3.2 Sql语句执行效率
    • 1.3.3 系统资源情况

1.1测试之前的工作

1.1.1 Oracle Smart Cache简介

在Oracle11gR2及以后版本,Oracle提供了设置FLASH CACHE的功能,提升数据访问性能,该特性尤其适用于db file <sequential/ scattered/ paralle> read 等相关event比较严重的系统中。目前FLASH CACHE功能只能兼容Oracle enterprise linux、oracle solaris版本系统。

1.1.2 Oacle Smart Cache测试方向

Smart Cache允许缓存的设备可以是ASM裸设备或者闪存卡SSD做成文件系统。本文中主要采用单机实例和裸设备缓存位置的测试方法,规定一定的测试参数制造压力,比较其在启用/未启用特性下的性能表现。

1.1.3 Oacle Smart Cache 测试环境


1.1.4 Oracle Smart Cache测试实现办法

1.1.4.1 准备工作

  • 由于Oracle的Smart flash cache功能 在Oracle enterprise linux 平台上对oracle database软件打了闪存补丁后可以使用,本次采用的系统版本为Oracle enterprise linux 6.9。在Oracle 11G中Smart flash cache初次被引入,它所支持的FLASH_CACHE_FILE闪存设备仅为一个,12C中最大支持16个。
  • 为模拟实验中硬盘性能差异性,我们将采用NFS存储作为一般数据文件存放位置。准备俩台虚拟机如下。

  • 主机1使用本地IDE+SSD+固态驱动器盘作为缓存设备,实验中表单数据存放在NFS存储中,俩块硬盘经过简单的DD测试性能表现如下。
[root@ole69 ~]# dd if=/dev/zero of=/dev/raw/raw1 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.40023 s, 316 MB/s
[oracle@ole69 ~]$ dd if=/dev/zero of=/oradata_nfs/1 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 18.3629 s, 58.5 MB/s
[oracle@ole69 ~]$ dd if=/dev/zero of=/dev/sdc bs=1M count=1024

1.4.1.2 设置数据库相关参数

db_flash_cache_file=‘/dev/raw/raw1’ scope=spfile;
db_flash_cache_size=2g scope=spfile;

设置Smart Cache设备并指定大小。

create tablespace nfs_test datafile'/oradata_nfs/nfs_test.dbf' size 1g ;
alter user ckpt_lu default tablespace nfs_test;
create table ckpt_lu.test_table as select * from dba_objects;

创建测试表存放在NFS_TEST表空间上,创建表单数据量为1600M。

alter system set event='10949 trace name context forever, level 1' scope=spfile;
alter system set "_very_large_object_threshold"=1600 scope=spfile;

关闭直接路径读,设置_very_large_object_threshold参数为表单大小。

alter system set sga_max_target=800m scope=spfile;
alter system set sga_target=800m scope=spfile;

设置SGA大小为表单的一半,制造系统压力。

1.1.5 Oracle Smart Cache 测试关键点

  • 缓存设备使用SSD+IDE高速盘,数据盘采用NFS存储,经简单测试写入性能相差6倍。
  • 表单数据存放入NFS存储上,表单数据定为1600M,内存设置为表单数据量一半。
  • 关闭直接路劲读,本次测试主要关注Smart Cache作为Buffer Cache二级缓存性能。
  • 执行的测试SQL需要执行三次及三次以上,让ORACLE缓存相关热块。

1.1.6 Oracle Smart Cache 测试标准点

1.2 测试过程

1.2.1 Oracle Smart Cache 开启

SQL>analyze table ckpt_lu.test_table compute statistics;

先简单收集统计信息

06:30:56 SQL> conn ckpt_lu/ckpt_lu
Connected.
06:31:09 SQL> select sum(bytes/1024/1024) m from user_extents where segment_name='TEST_TABLE';M
----------1600Elapsed: 00:00:00.37
06:31:28 SQL> select name,value from v$sysstat where name in ('physical read flash cache hits','physical reads','consistent gets','db block gets','flash cache insert');NAME                                                                  VALUE
---------------------------------------------------------------- ----------
db block gets                                                           388
consistent gets                                                      145703
physical reads                                                         4754
physical read flash cache hits                                              0Elapsed: 00:00:00.02
06:31:46 SQL> set time on
06:32:08 SQL> set timing on
06:32:08 SQL> select /*+ monitor */ count(*) as FirstWithSc from test_table;FIRSTWITHSC
-----------5853184Elapsed: 00:02:04.36
06:33:05 SQL> select /*+ monitor */ count(*) as SecondWithSc from test_table;SECONDWITHSC
------------5853184Elapsed: 00:00:43.06
06:35:22 SQL> select /*+ monitor */ count(*) as ThirdWithSc from test_table;THIRDWITHSC
-----------5853184Elapsed: 00:00:16.17
06:36:17 SQL> select /*+ monitor */ count(*) as FouthWithSc from test_table;FOUTHWITHSC
-----------5853184Elapsed: 00:00:16.19
06:36:59 SQL> select name,value from v$sysstat where name in ('physical read flash cache hits','physical reads','consistent gets','db block gets','flash cache insert');NAME                                                                  VALUE
---------------------------------------------------------------- ----------
db block gets                                                           830
consistent gets                                                      974792
physical reads                                                       758834
physical read flash cache hits                                         547581Elapsed: 00:00:00.01

执行压力脚本,并设置Sql Monitor监控

7nn5sg97fhkhk    select /*+ monitor */ count(*) as FirstWithSc from test_table
b2hdkmfcscn3t   select /*+ monitor */ count(*) as ThirdWithSc from test_table
40s8yqbkh8237   select /*+ monitor */ count(*) as FouthWithSc from test_table
8tghy100mctdv   select /*+ monitor */ count(*) as SecondWithSc from test_table

收集四次SQL执行计划。

块缓存其中前后对比-击中大量块

1.2.2 Oracle Smart Cache 关闭

06:42:04 SQL> conn camdunki/camdunki
Connected.
06:42:48 SQL> select sum(bytes/1024/1024) m from user_extents where segment_name='TEST_TABLE';M
----------1600Elapsed: 00:00:00.45
06:42:55 SQL> set time on
06:43:52 SQL> set timing on
06:43:52 SQL> select /*+ monitor */ count(*) as First from test_table;FIRST
----------5853184Elapsed: 00:00:50.01
06:44:43 SQL> select /*+ monitor */ count(*) as Second from test_table;SECOND
----------5853184Elapsed: 00:00:46.66
06:45:44 SQL> select /*+ monitor */ count(*) as Third from test_table;THIRD
----------5853184Elapsed: 00:00:42.97
06:46:37 SQL> select /*+ monitor */ count(*) as Fouth from test_table;FOUTH
----------5853184Elapsed: 00:00:45.04
06:47:37 SQL> select name,value from v$sysstat where name in ('physical read flash cache hits','physical reads','consistent gets','db block gets','flash cache insert');NAME                                                                  VALUE
---------------------------------------------------------------- ----------
db block gets                                                           699
consistent gets                                                      974502
physical reads                                                       749431
physical read flash cache hits                                            0Elapsed: 00:00:00.01

执行压力脚本,并设置Sql Monitor监控

7nn5sg97fhkhk  select /*+ monitor */ count(*) as First from test_table;
b2hdkmfcscn3t  select /*+ monitor */ count(*) as Second from test_table;
40s8yqbkh8237  select /*+ monitor */ count(*) as Third from test_table;
8tghy100mctdv  select /*+ monitor */ count(*) as Fouth from test_table;

收集四次SQL执行计划。

块缓存击中量-不变

1.3 测试结果数据整合

1.3.1 Sql语句执行时间

可以发现通过以上测试俩者之间时间差距还是比较大的

**

开启Smart Cache后Sql语句第一次执行耗时较久。第二次部分热块被Cache到二级缓存区上,时间有所缩短,第三次大部分块被Cache,时间缩短了大约7倍。

**

1.3.2 Sql语句执行效率

**

从等待事件上看,俩种情况下第一次Sql等待事件差不多,随着执行次数增加,在开启特性的情况下,热块逐步被Cache到二级缓存中,所对应的等待事件也慢慢降低,语句更加高效一点,没有二级缓存的情况下,Sql语句一直处于低效运行状态。

**

1.3.3 系统资源情况

**

如图,该图显示测试过程中CPU Wait on OI 比率,在6:30之前,创建测试表需要对NFS存储进行频繁的读写,CPU Wait on IO比率居高不下。6:30至6:42分开启Oracle Smart Cache特性进行Sql语句测试,WAIT ON IO暂时下降,Sdc设备正是本地设置的二级缓存盘,这个时候SQL所需要的大部分的数据块在本地二级缓存上可以得到,CPU WAIT ON IO恢复正常值。等到关闭Oracle Smart Cache特性进行Sql语句测试时,Sql所需要的块还是从NFS存储上读取,导致CPU Wait on OI再次飙升。

**

Oracle Smart Flash 新特性性能测试说明相关推荐

  1. Oracle 12.2 新特性: Online PDB relocate (PDB hot move)

    Oracle 12 . 2 新特性 : Online PDB relocate (PDB hot move) Relocating a PDB 是 Oracle 在 12C 中推出的一种新的数据迁移方 ...

  2. oracle 12c dg新特性,oracle 12c:新特性-网格(Grid)基础架构的增强

    oracle 12c:新特性-网格(Grid)基础架构的增强,传统标准集群和Flex集群. Flex 集群 Oracle 12c 在集群安装时支持两类配置:传统标准集群和Flex集群.在一个传统标准集 ...

  3. oracle result_cache_max_size,oracle database 11g新特性之设置result cache-Oracle

    oracle database 11g新特性之设置result  cache oracle database 11g 新特性 之设置 result  cache 如果系统以前没有使用过result c ...

  4. oracle exp 00006,Oracle 12.1新特性----使用RMAN从备份中实现recover table

    Oracle 12.1新特性----使用RMAN从备份中实现recover table 发布时间:2020-06-26 19:41:44 来源:51CTO 阅读:4750 作者:hbxztc 在Ora ...

  5. 资源放送丨Oracle 20C DataGuard 新特性解读PPT视频

    前段时间,墨天轮分享了云和恩墨高级工程师 章芋文 带来的直播< Oracle 20C DataGuard 新特性解读>,在这里我们共享一下PPT和视频,供大家参考学习. 从Oracle官方 ...

  6. 五月数据库技术通讯丨Oracle 12c因新特性引发异常Library Cache Lock等待

    每月关注:35页数据库技术干货,汇总一个月数据库行业热点事件.新的产品特性,包括重要数据库产品发布.警报.更新.新版本.补丁等. 亲爱的读者朋友: 为了及时共享行业案例,通知共性问题,达成共享和提前预 ...

  7. Oracle 12.2新特性 | 基于权重的节点驱逐

    前言 在Oracle Clusterware需要从集群中逐出特定节点或一组节点的情况时,基于服务器权重的节点驱逐可充当断裂机制,通过服务器上的负载附加信息来识别要驱逐的节点或节点组.其中所有节点被驱逐 ...

  8. Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node

    Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node 在 Oracle Database 12c 的 Cluster 中引入了很多新特性和新 ...

  9. Oracle Database 12c新特性 In-Database Archiving数据库内归档

    [Oracle Database 12c新特性] In-Database Archiving数据库内归档 Oracle Database 12c中引入了 In-Database Archiving的新 ...

最新文章

  1. 斯坦福的智能马桶能凭肛纹识人,大便和尿液都把你的信息“卖”了……
  2. UVA 10271 Chopsticks
  3. Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb shgsfdk dHyscvnm”。大侦探很快就明白了
  4. oracle实时分析,Oracle Exalytics 大幅提升实时分析洞察力
  5. C语言依次显示图片,c语言能显示图片吗
  6. 阿里巴巴王坚:用数据来改变世界
  7. iOS照片缩略图thumbnail模糊问题
  8. MVC 使用 Webuploader 插件 传递额外参数 备忘笔记
  9. linux搭建git服务
  10. Java光影教程_Minecraft SEUS PTGI 光影使用教程
  11. 云计算和虚拟化的关系
  12. 【产品经理】 产品经理进阶之路(十一):怎么看微信的公众号和百度的直达号,哪个更有优势
  13. centos7.9-kvm-ESXi相关操作
  14. mongo写入mysql_从mysql读取数据写入mongo
  15. 教你看懂晦涩的5G英文缩写-初学者篇
  16. 威佐夫博弈算法C++
  17. Apple新发布的APFS文件系统对用户意味着什么
  18. 【POJ1182】食物链+思路+代码(较全)
  19. uniapp H5 百度统计
  20. 苹果手机左上角的数字怎么弄_出了新朋友,莫忘老朋友,苹果Macbook这款小键盘能让你键步如飞...

热门文章

  1. One Card Poker——AtCoder - abc054_a
  2. Nginx正则表达式与location匹配简介
  3. Android 获取蓝牙设备类型
  4. 还在为 520 发愁吗?教你用 Python 写个表白神器
  5. 程序猿520python表白利器——丘比特之箭
  6. INA240三相无刷电机电流采样实例(arduino)
  7. 计算机屏幕自己动,ipad屏幕失灵自己乱跳怎么办【图文】
  8. 台式计算机屏幕扩展,台式机屏幕如何扩展
  9. 我的世界Java存档转移_我的世界怎么导入本地地图_我的世界中国版怎么导入地图_我的世界怎么导入存档...
  10. 爆笑!让你捧腹大笑的标语