Oracle Smart Flash 新特性性能测试说明
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 新特性性能测试说明相关推荐
- Oracle 12.2 新特性: Online PDB relocate (PDB hot move)
Oracle 12 . 2 新特性 : Online PDB relocate (PDB hot move) Relocating a PDB 是 Oracle 在 12C 中推出的一种新的数据迁移方 ...
- oracle 12c dg新特性,oracle 12c:新特性-网格(Grid)基础架构的增强
oracle 12c:新特性-网格(Grid)基础架构的增强,传统标准集群和Flex集群. Flex 集群 Oracle 12c 在集群安装时支持两类配置:传统标准集群和Flex集群.在一个传统标准集 ...
- oracle result_cache_max_size,oracle database 11g新特性之设置result cache-Oracle
oracle database 11g新特性之设置result cache oracle database 11g 新特性 之设置 result cache 如果系统以前没有使用过result c ...
- 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 ...
- 资源放送丨Oracle 20C DataGuard 新特性解读PPT视频
前段时间,墨天轮分享了云和恩墨高级工程师 章芋文 带来的直播< Oracle 20C DataGuard 新特性解读>,在这里我们共享一下PPT和视频,供大家参考学习. 从Oracle官方 ...
- 五月数据库技术通讯丨Oracle 12c因新特性引发异常Library Cache Lock等待
每月关注:35页数据库技术干货,汇总一个月数据库行业热点事件.新的产品特性,包括重要数据库产品发布.警报.更新.新版本.补丁等. 亲爱的读者朋友: 为了及时共享行业案例,通知共性问题,达成共享和提前预 ...
- Oracle 12.2新特性 | 基于权重的节点驱逐
前言 在Oracle Clusterware需要从集群中逐出特定节点或一组节点的情况时,基于服务器权重的节点驱逐可充当断裂机制,通过服务器上的负载附加信息来识别要驱逐的节点或节点组.其中所有节点被驱逐 ...
- Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node
Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node 在 Oracle Database 12c 的 Cluster 中引入了很多新特性和新 ...
- Oracle Database 12c新特性 In-Database Archiving数据库内归档
[Oracle Database 12c新特性] In-Database Archiving数据库内归档 Oracle Database 12c中引入了 In-Database Archiving的新 ...
最新文章
- 斯坦福的智能马桶能凭肛纹识人,大便和尿液都把你的信息“卖”了……
- UVA 10271 Chopsticks
- Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb shgsfdk dHyscvnm”。大侦探很快就明白了
- oracle实时分析,Oracle Exalytics 大幅提升实时分析洞察力
- C语言依次显示图片,c语言能显示图片吗
- 阿里巴巴王坚:用数据来改变世界
- iOS照片缩略图thumbnail模糊问题
- MVC 使用 Webuploader 插件 传递额外参数 备忘笔记
- linux搭建git服务
- Java光影教程_Minecraft SEUS PTGI 光影使用教程
- 云计算和虚拟化的关系
- 【产品经理】 产品经理进阶之路(十一):怎么看微信的公众号和百度的直达号,哪个更有优势
- centos7.9-kvm-ESXi相关操作
- mongo写入mysql_从mysql读取数据写入mongo
- 教你看懂晦涩的5G英文缩写-初学者篇
- 威佐夫博弈算法C++
- Apple新发布的APFS文件系统对用户意味着什么
- 【POJ1182】食物链+思路+代码(较全)
- uniapp H5 百度统计
- 苹果手机左上角的数字怎么弄_出了新朋友,莫忘老朋友,苹果Macbook这款小键盘能让你键步如飞...
热门文章
- One Card Poker——AtCoder - abc054_a
- Nginx正则表达式与location匹配简介
- Android 获取蓝牙设备类型
- 还在为 520 发愁吗?教你用 Python 写个表白神器
- 程序猿520python表白利器——丘比特之箭
- INA240三相无刷电机电流采样实例(arduino)
- 计算机屏幕自己动,ipad屏幕失灵自己乱跳怎么办【图文】
- 台式计算机屏幕扩展,台式机屏幕如何扩展
- 我的世界Java存档转移_我的世界怎么导入本地地图_我的世界中国版怎么导入地图_我的世界怎么导入存档...
- 爆笑!让你捧腹大笑的标语