oracle數(shù)據(jù)庫性能優(yōu)化-降低IO
oracle數(shù)據(jù)庫性能優(yōu)化-降低IO
影響到oracle性能的因素主要可以從硬件和軟件兩個方面劃分,本文通過對oracle數(shù)據(jù)庫架構(gòu)的分析,提出從硬件方面OLTP系統(tǒng)優(yōu)化oracle數(shù)據(jù)庫性能的方法,不足之處歡迎拍磚。
oracle數(shù)據(jù)庫物理存儲架構(gòu):
oracle數(shù)據(jù)庫物理文件增長情況:
Oracle archived REDO log files增長快,說明redo log寫入很頻繁。
從實際大數(shù)據(jù)量和高性能OLTP應(yīng)用系統(tǒng)性能測試發(fā)現(xiàn),磁陣IO是限制系統(tǒng)性能的瓶頸,因此降低IO是oracle數(shù)據(jù)庫優(yōu)化的關(guān)鍵,結(jié)合oracle數(shù)據(jù)庫物理存儲架構(gòu)圖、數(shù)據(jù)庫物理文件增長情況和實際測試發(fā)現(xiàn),給磁陣IO帶來很大負(fù)荷的是redo log文件、數(shù)據(jù)文件、索引文件的讀寫三個方面,并且當(dāng)數(shù)據(jù)量、性能和持續(xù)壓力時間都達(dá)到一定的量時,這三者產(chǎn)生的IO負(fù)荷相當(dāng),因此降低磁盤IO的最終目標(biāo)也就是降低這三類文件的IO,通過將oracle的redo log文件、數(shù)據(jù)文件、索引文件都建立到內(nèi)存盤上的實際測試結(jié)果表明,采用這種幾乎零IO的模式很大程度的提高了oracle的性能,
基于以上分析,可以對oracle數(shù)據(jù)庫的IO做以下優(yōu)化:
1 固態(tài)硬盤存儲redo log,提高redo log的寫入速度,
從實際運用的角度看,由于內(nèi)存盤的易失性,把redo log文件建立在內(nèi)存盤上是不安全的,再考察redo log文件具有大小穩(wěn)定,一般在2到3個G之間的特性,因此把redo log文件建立在固態(tài)硬盤上是個不錯的選擇
2 由于內(nèi)存足夠大,因此將臨時表空間建立在內(nèi)存盤上,對于統(tǒng)計、大數(shù)據(jù)量查詢、大數(shù)據(jù)量
sql運算(比如:group by、sum等)的操作,
需要大量臨時表空間存儲臨時數(shù)據(jù),這些臨時數(shù)據(jù)就直接存儲到內(nèi)存上了,消除了oracle的大讀取和大運算產(chǎn)生的臨時IO
3 由于索引具有可以根據(jù)數(shù)據(jù)文件重建,不怕丟失的特性,
把索引文件建在臨時文件系統(tǒng)上,oracle每次啟動時重建索引,這樣平時的讀寫操作就不會產(chǎn)生索引IO,索引的更新和讀取都在內(nèi)存上進(jìn)行,
系統(tǒng)由于各種原因出現(xiàn)重啟時,僅在重啟時重建一次索引
本文觀點基于目前系統(tǒng)內(nèi)存都非常大(一般都是幾十G甚至以上)的情況下所做的優(yōu)化,
基于以上優(yōu)化,把影響oracle IO的三大因素去掉了兩大因素,因此性能上有望達(dá)到倍增的效果。
影響到oracle性能的因素主要可以從硬件和軟件兩個方面劃分,本文通過對oracle數(shù)據(jù)庫架構(gòu)的分析,提出從硬件方面OLTP系統(tǒng)優(yōu)化oracle數(shù)據(jù)庫性能的方法,不足之處歡迎拍磚。
oracle數(shù)據(jù)庫物理存儲架構(gòu):
oracle數(shù)據(jù)庫物理文件增長情況:
Oracle archived REDO log files增長快,說明redo log寫入很頻繁。
從實際大數(shù)據(jù)量和高性能OLTP應(yīng)用系統(tǒng)性能測試發(fā)現(xiàn),磁陣IO是限制系統(tǒng)性能的瓶頸,因此降低IO是oracle數(shù)據(jù)庫優(yōu)化的關(guān)鍵,結(jié)合oracle數(shù)據(jù)庫物理存儲架構(gòu)圖、數(shù)據(jù)庫物理文件增長情況和實際測試發(fā)現(xiàn),給磁陣IO帶來很大負(fù)荷的是redo log文件、數(shù)據(jù)文件、索引文件的讀寫三個方面,并且當(dāng)數(shù)據(jù)量、性能和持續(xù)壓力時間都達(dá)到一定的量時,這三者產(chǎn)生的IO負(fù)荷相當(dāng),因此降低磁盤IO的最終目標(biāo)也就是降低這三類文件的IO,通過將oracle的redo log文件、數(shù)據(jù)文件、索引文件都建立到內(nèi)存盤上的實際測試結(jié)果表明,采用這種幾乎零IO的模式很大程度的提高了oracle的性能,
基于以上分析,可以對oracle數(shù)據(jù)庫的IO做以下優(yōu)化:
1 固態(tài)硬盤存儲redo log,提高redo log的寫入速度,
從實際運用的角度看,由于內(nèi)存盤的易失性,把redo log文件建立在內(nèi)存盤上是不安全的,再考察redo log文件具有大小穩(wěn)定,一般在2到3個G之間的特性,因此把redo log文件建立在固態(tài)硬盤上是個不錯的選擇
2 由于內(nèi)存足夠大,因此將臨時表空間建立在內(nèi)存盤上,對于統(tǒng)計、大數(shù)據(jù)量查詢、大數(shù)據(jù)量
sql運算(比如:group by、sum等)的操作,
需要大量臨時表空間存儲臨時數(shù)據(jù),這些臨時數(shù)據(jù)就直接存儲到內(nèi)存上了,消除了oracle的大讀取和大運算產(chǎn)生的臨時IO
3 由于索引具有可以根據(jù)數(shù)據(jù)文件重建,不怕丟失的特性,
把索引文件建在臨時文件系統(tǒng)上,oracle每次啟動時重建索引,這樣平時的讀寫操作就不會產(chǎn)生索引IO,索引的更新和讀取都在內(nèi)存上進(jìn)行,
系統(tǒng)由于各種原因出現(xiàn)重啟時,僅在重啟時重建一次索引
本文觀點基于目前系統(tǒng)內(nèi)存都非常大(一般都是幾十G甚至以上)的情況下所做的優(yōu)化,
基于以上優(yōu)化,把影響oracle IO的三大因素去掉了兩大因素,因此性能上有望達(dá)到倍增的效果。
時間:2012-08-24 責(zé)任編輯:admin
相關(guān)文章
無相關(guān)信息