Oracle性能究極優(yōu)化
更新時間:2007年03月06日 00:00:00 作者:
正在看的ORACLE教程是:Oracle性能究極優(yōu)化?! ≡龃?SGA 已經(jīng)緩沖看來對于性能的提升并不顯著,加載時間只提升了 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
下面我們把數(shù)據(jù)庫塊加大到 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
看來結果并不壞,我們沒有理由繼續(xù)增加塊大小了,我們還沒有根據(jù) CPU 個數(shù)調整相應的參數(shù),這次我們設置 I/O 的進程數(shù)來繼續(xù)調整:
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 的內核而言,有將近幾百個參數(shù)可以調整,包括對 CPU 類型,SMP 支持,APIC 支持,DMA 支持,IDE DMA 缺省參數(shù)的使用以磁盤限額支持。根據(jù) Oracle 的文檔,我們要做的主要調整是共享內存和信號量的大小,SHMMAX 最少配置 0x13000000,SEMMNI, SEMMSL 和 SEMOPN 分別至少設置 100, 512, 100。這些參數(shù)的設置可以通過下面的命令實現(xiàn):
# 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
<
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
下面我們把數(shù)據(jù)庫塊加大到 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
看來結果并不壞,我們沒有理由繼續(xù)增加塊大小了,我們還沒有根據(jù) CPU 個數(shù)調整相應的參數(shù),這次我們設置 I/O 的進程數(shù)來繼續(xù)調整:
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 的內核而言,有將近幾百個參數(shù)可以調整,包括對 CPU 類型,SMP 支持,APIC 支持,DMA 支持,IDE DMA 缺省參數(shù)的使用以磁盤限額支持。根據(jù) Oracle 的文檔,我們要做的主要調整是共享內存和信號量的大小,SHMMAX 最少配置 0x13000000,SEMMNI, SEMMSL 和 SEMOPN 分別至少設置 100, 512, 100。這些參數(shù)的設置可以通過下面的命令實現(xiàn):
# 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
<
相關文章
Oracle數(shù)據(jù)庫"記錄被另一個用戶鎖住"解決方法(推薦)
數(shù)據(jù)庫是一個多用戶使用的共享資源。當多個用戶并發(fā)地存取數(shù)據(jù)時,在數(shù)據(jù)庫中就會產(chǎn)生多個事務同時存取同一數(shù)據(jù)的情況。這篇文章主要介紹了Oracle數(shù)據(jù)庫"記錄被另一個用戶鎖住"解決方法2018-03-03
關于Oracle數(shù)據(jù)庫dbLink的創(chuàng)建和使用詳解
這篇文章主要介紹了關于Oracle數(shù)據(jù)庫dbLink的創(chuàng)建和使用詳解,Oracle的數(shù)據(jù)庫鏈路dbLink是一種允許在兩個不同的數(shù)據(jù)庫實例之間進行通信和數(shù)據(jù)交換的功能,它可以讓你在一個數(shù)據(jù)庫中訪問另一個數(shù)據(jù)庫的對象和數(shù)據(jù),需要的朋友可以參考下2023-08-08
Oracle8i和Microsoft SQL Server比較
Oracle8i和Microsoft SQL Server比較...2007-03-03
Oracle 實現(xiàn)類似SQL Server中自增字段的一個辦法
由于Oracle中沒有類似SQL Server中的自增字段,所以我們如果想要通過設定類似ID性質的唯一列的話,需要借助Oracle的sequence,先建立一個序列,然后在每次插入數(shù)據(jù)的時候,通過前觸發(fā)器來更新ID值,并將序列的序號加1,這樣的迂回方式來實現(xiàn)。2009-07-07
PLSQL創(chuàng)建新用戶并導入導出.dmp文件全過程
plsql導入.sql和.dmp文件時會經(jīng)常用到,對于初學者來說可能沒有那么簡單,畢竟oracle數(shù)據(jù)庫比較麻煩,這篇文章主要給大家介紹了關于PLSQL創(chuàng)建新用戶并導入導出.dmp文件的相關資料,需要的朋友可以參考下2023-11-11
裝Oracle用PLSQL連接登錄時不顯示數(shù)據(jù)庫的解決
這篇文章主要介紹了裝Oracle用PLSQL連接登錄時不顯示數(shù)據(jù)庫的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11

