程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle性能究極優化

Oracle性能究極優化

編輯:Oracle教程

Oracle性能究極優化


   正在看的ORACLE教程是:Oracle性能究極優化。增大 SGA 已經緩沖看來對於性能的提升並不顯著,加載時間只提升了 1.73%。下面我們增加 SGA 重做日志的大小:

  DB3: Log Buffer

  Database Block Size 2K

  SGA Buffer Cache 128M

  SGA Shared Pool 128M

  SGA Redo Cache 16M

  Redo Log Files 16M

  Tablespaces Dictionary

  TPC Results Load Time (Seconds) 41.39

  Transactions / Second 10.088

  我們可以看到加載時間提升了 17.35%,TPS 也提升了 9.33%。因為加載和同時插入,更新,刪除需要比 8M 大的空間,但是看起來增加內存性能並沒有顯著提升,我們加大塊大小:

  DB4: 4K Block

  Database Block Size 4K

  SGA Buffer Cache 128M

  SGA Shared Pool 128M

  SGA Redo Cache 16M

  Redo Log Files 16M

  Tablespaces Dictionary

  TPC Results Load Time (Seconds) 17.35

  Transactions / Second 10.179

  我們看到加載時間提升了 138%!而對 TPS 值沒有很大的影響。下面一個簡單的念頭是表空間的管理從目錄切換為本地:

  DB5: Local Tablespaces

  Database Block Size 4K

  SGA Buffer Cache 128M

  SGA Shared Pool 128M

  SGA Redo Cache 16M

  Redo Log Files 16M

  Tablespaces Local

  TPC Results Load Time (Seconds) 15.07

  Transactions / Second 10.425

  下面我們把數據庫塊加大到 8K 來看結果:

  DB6: 8K Block

  Database Block Size 8K

  SGA Buffer Cache 128M

  SGA Shared Pool 128M

  SGA Redo Cache 16M

  Redo Log Files 16M

  Tablespaces Local

  TPC Results Load Time (Seconds) 11.42

  Transactions / Second 10.683

  看來結果並不壞,我們沒有理由繼續增加塊大小了,我們還沒有根據 CPU 個數調整相應的參數,這次我們設置 I/O 的進程數來繼續調整:

  DB7: I/O Slaves

  Database Block Size 8K

  SGA Buffer Cache 128M

  SGA Shared Pool 128M

  SGA Redo Cache 16M

  Redo Log Files 16M

  Tablespaces Local

  dbwr_io_slaves 4

  lgwr_io_slaves (derived) 4

  TPC Results

  Load Time (Seconds) 10.48

  Transactions / Second 10.717

  我們的測試是基於 Red Hat 6.2 進行的,內核版本為 2.2.14-5 smp。對於 Linux 的內核而言,有將近幾百個參數可以調整,包括對 CPU 類型,SMP 支持,APIC 支持,DMA 支持,IDE DMA 缺省參數的使用以磁盤限額支持。根據 Oracle 的文檔,我們要做的主要調整是共享內存和信號量的大小,SHMMAX 最少配置 0x13000000,SEMMNI, SEMMSL 和 SEMOPN 分別至少設置 100, 512, 100。這些參數的設置可以通過下面的命令實現:

  # echo 0x13000000 >/proc/sys/kernel/shmmax

  # echo 512 32000 100 100 >/proc/sys/kernel/sem

  OS1: 單內核和 IPC

  TPC Results

  Load Time (Seconds) 9.54

  Transactions / Second 11.511

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved