日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/3/13 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 新特性性能测试说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。