ORACLE磁盤IO優(yōu)化_第1頁
ORACLE磁盤IO優(yōu)化_第2頁
ORACLE磁盤IO優(yōu)化_第3頁
ORACLE磁盤IO優(yōu)化_第4頁
ORACLE磁盤IO優(yōu)化_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ORACLE磁盤I/O優(yōu)化適用機型:所有服務器文檔內(nèi)容:隨著SAN存儲的介入,I/O子系統(tǒng)的性能調(diào)整達到了一個較為復雜的層次。因為,SAN光纖存儲網(wǎng)絡包括以下幾個方面:存儲共享,也就是不同的結(jié)點對同一具有不同訪問模式的存儲子系統(tǒng)進行讀寫操作。I/O子系統(tǒng)變得更為復雜,在I/O通訊路上存在不同類型的設(shè)備,比如SAN交換機及陸游器,在多種節(jié)點間共享。上述方面會嚴重地影響到系統(tǒng)的性能。值得強調(diào)的一點是,設(shè)計不是為了追求最好的配置的研究而是追求最好取舍的研究。舉個例子來講,我們可以簡單容易地盡可能延遲檢查的結(jié)點來提高性能,可是這樣會使ORACLE數(shù)據(jù)恢復起來需要相當長的時間。同樣地,RAID0能體現(xiàn)最

2、優(yōu)的I/O性能卻沒有數(shù)據(jù)的保護功能。I/O子系統(tǒng)的設(shè)計主要是價格,可靠性及性能三者之間的衡量。如果我們忽略FC SAN設(shè)備的昂貴價格,其它主要的影響價格的因素有:硬盤的主要制造價格硬盤的電子接口(光纖VS SCSI)硬盤容量大小,比如,只使用一個72G的硬盤的解決方案比使用兩個36G硬盤的解決方案要來得便宜。除此之外,我們使用越多的硬盤,我們就必須購買越多的背板,線纜,機柜等等。RAID級別。實際上RAID級別的選擇對滿足相應的數(shù)據(jù)庫的存儲容量所需的硬盤數(shù)量有明顯的影響。因此也會影響前面所述的總的花費。如果我們忽視FC SAN所具有的特定特性,那么主要的影響可靠性的因素有:硬盤平均損壞時間硬盤

3、的數(shù)量。從一個統(tǒng)計的觀點來看,硬盤的數(shù)量越多,存儲子系統(tǒng)出現(xiàn)問題的風險就越高。每個硬盤的容量。容量越小,硬盤的個數(shù)就越多。陣列級別,RAID級別對總的存儲子系統(tǒng)的可靠性來講有復雜的影響。如果我們再次忽略SAN在性能方面的影響,影響性能的主要因素有:RAID控制器的緩存大小RAID級別(比如,RAID10 VS RAID5)RAID陣列的條帶單元大小ORACLE數(shù)據(jù)庫塊大小表空間的分配下面我們來一一述:RAID控制器的緩存大小取決于存儲訪問的模式,RAID控制器的緩存可能對系統(tǒng)的性能產(chǎn)生決定性的影響。緩存在RAID5陣列的寫操作中擔任著重要的角色。寫緩存在得到RAID控制器的承認后才將數(shù)據(jù)寫入硬

4、盤。由此會在以下幾個方面給性能造成影響:更新可以覆蓋之前的更新,由此來減少硬盤寫操作的次數(shù)。多次組需求,硬盤的工作日程可能可以達到最優(yōu)的性能。通過在控制器緩存里對連續(xù)的請求分組來實現(xiàn)。寫小容量的數(shù)據(jù)(操作更新一個單一的條帶單元)可能轉(zhuǎn)換成大容量的寫操作(將對所有條帶單元的寫操作提升為整個條帶寫操作)。一個寫小數(shù)量的操作比如只修改一個單一的條帶單元,請求基于讀-修改-寫運算法則,需要兩次讀操作并要兩次寫操作。如果是大容量的寫操作需要最大數(shù)量為2xN次操作來更新N個數(shù)據(jù)塊(N是硬盤的個數(shù)),由此來來達到更好的性能。讀-修改-寫運算法則要求對每個條帶單元的修改作兩次讀操作。如果RAID控制器使用完全

5、XOR運算法則的話,將會要求更多的讀操作,在三個硬盤的陣列中除外。RAID控制器緩存里可能存有這些數(shù)據(jù),由此來減少讀操作的次數(shù)。然而,不要過高估計緩存的大小。有時小容量的緩存會帶來高效益,通常翻剖提高緩存的容量帶來的效益較小。而且,RAID控制器緩存只是眾多緩存中會影響I/O子系統(tǒng)性能的成員之一。其中一個主要的扮演角色是ORACLE DBMS 緩存。陣列級別的優(yōu)化如果不受價格的限制,那么最好的選擇是RAID10。問題是要明白在什么樣的應用中選擇RAID10能帶來最大的性能優(yōu)化的同時,使付出的昂貴的價格有所值。在數(shù)據(jù)倉庫中,傳統(tǒng)的對數(shù)據(jù)文件的訪問模式幾乎100%是讀操作;因此RAID10所能帶來

6、的性能優(yōu)化在寫操作中是體現(xiàn)不出來的,RAID5級別是可以接受的。從另一方面來講,在一個傳統(tǒng)的OLTP環(huán)境中,大量的寫操作使得RAID10成為數(shù)據(jù)文件陣列的最好選擇。當然,即使是 對OLTP數(shù)據(jù)文件來講,RAID5在低價格的前提下還是可以接受的(以下為低投入理念的解釋)。數(shù)據(jù)保護總的來講RAID1比RAID5更可靠。配備了熱備盤的RAID5一般比沒有配備熱備盤的RAID1更可靠。配備了熱備盤的RAID1比配備了熱備盤的RAID5更可靠。對于RAID5來講最優(yōu)化可靠的方法是配備兩個熱備盤。配備了兩個熱備盤的RAID5陣列具有相當高的可靠性,相對而言配備了熱備盤的RAID1沒有帶來特別顯注的可靠性,

7、所以可以將RAID級別能從可靠性問題中獨立出來。除了RAID級別外,還有其它少數(shù)的因素會影響I/O子系統(tǒng)的可靠性。為了使問題簡單化,我們應該忽略熱備盤所帶來的影響。根據(jù)G. A. Gibsons的論文有關(guān)高可靠性數(shù)據(jù)的硬盤陣列的設(shè)計。假設(shè)現(xiàn)有一個獨立的有問題例子,對于陣列 的平均丟失數(shù)據(jù)時間由以下公式來決定: 其中MTTF 是硬盤的平均損壞時間,MTTR是平均維修時間。G是對每組具有N+1硬盤錯誤校驗的次數(shù)據(jù),為了區(qū)分清楚這些符號的意義,我們指出系統(tǒng)是否有一個熱備盤,MTTR是需要恢復數(shù)據(jù)的時間(錯誤校驗組),在這種情況下是將一個工作的硬盤替換損壞的硬盤重建陣列的時間。以上公式清楚地表明了創(chuàng)建

8、非常大的RAID5陣列的風險。舉例子來說,10 (G=10)10個硬盤(N=9)陣列(總共為100個硬盤),產(chǎn)品GN(N+1)是900,當5 (G=5) 20硬盤 (N=19) 陣列 (總共 100 硬盤) 產(chǎn)品數(shù)量為 GN(N+1) 是1900,數(shù)據(jù)庫文件考慮到寫操作,RAID10陣列比RAID5要好的多,反而對于讀操作來講,兩者之間的差別是很小的。從這個簡單的道理中我們得出以下建議:在線重新生成的LOG文件-強烈建議使用RAID1。萬一是要求很高的性能的話有可能必要選擇RAID10.然而,RAID10的高性能在處理非常小的條帶單元大小的時候才體現(xiàn)出來。存檔重新生成的LOG文件-推薦使用RA

9、ID1。然而,存檔重做LOGS 并不象重做log文件那樣對性能的要求如此嚴格。因此,最好是將存檔重做LOGS存在RAID5陣列中,而不是將重做LOGS在線重做LOGS文件存在RAID5陣列上。臨時段-RAID1或者,最好是選擇RAID10,推薦使用在象數(shù)據(jù)倉庫中具有很多類別操作的案例中。數(shù)據(jù)文件-對于數(shù)據(jù)倉庫來講可以選擇RAID5,因為主要的訪問是讀取小容量的數(shù)據(jù)庫??偟膩碇v,RAID10是建議的RAID級別。優(yōu)化條帶單元大小優(yōu)化性能是介于性能與其它必要需求的取舍操作,特別是可靠性,同時它也是介于不同點與對應性能需求兩者之間的取舍。舉個例子來講,如果一個陣列在經(jīng)典OLTP活動中使用了兩者,在一

10、個普通DB里更新小標簽,同時也為大量的報告,那么我們就必須決定某些可以接受的性能的下降來提高其它的操作的性能。選擇最優(yōu)化的條帶單元大小是介于大I/O操作與小I/O操作之間的權(quán)衡取舍。目的是讓所有的硬盤工作。如果應用頻繁,也就是同時發(fā)生的邏輯I/O操作次數(shù)很高的話,那么條帶單元的大小應該大些來確保每一個邏輯I/O是被單一硬盤來提供服務。從另一方面來講,如果應用低的話,條帶單元大小應該小些,由此來確認發(fā)出每個單一指令時所有的硬盤都有相應操作,由此來達到最大的吞吐量。第二個影響條帶單元大小選擇的因素是平均I/O大小。用抽象的術(shù)語來講,I/O大小跟條帶單元大小應該是一致的。ORACEL數(shù)據(jù)塊沒有必要跟

11、條帶單元看齊為了提高邏輯I/O操作與一個物理I/O操作完全吻合的可能性,推薦將條帶單元的大小設(shè)置成至少比平均I/O尺寸大小大兩倍。在設(shè)計ORACEL I/O使之達到最優(yōu)化的時候,必須明白應用率以及平均I/O尺寸大小。Cary V. Millsap在設(shè)計ORACLE VLDB服務器時,總結(jié)了以下表格中的推薦值:由于條帶單元大小有可能對I/O性能有非常重要的影響,推薦在對性能要求敏感的系統(tǒng)中使用相應技術(shù)使之允許在線改變條帶單元大小。比如IBM存儲性能,這是選擇使用光纖存儲(IBM TotalStorage DS4000 系列)而不是SCSI存儲(ServeRAID 適配器)的其中一個主要原因。OR

12、ACLE數(shù)據(jù)庫塊大小 ORACLE 數(shù)據(jù)庫管理員經(jīng)常會被要求設(shè)置數(shù)據(jù)庫的塊大小(DB_BLOCK_SIZE),這是最會影響I/O性能的參數(shù)。實際上,有I/O訪問的經(jīng)歷可能是很小的。改變該參數(shù)的唯一方法是創(chuàng)建一個新的數(shù)據(jù)庫,并將數(shù)據(jù)轉(zhuǎn)移到上面。在安裝的時候,如果有的話也是非常少的一些信息在經(jīng)典I/O尺寸中可以使用,數(shù)據(jù)庫的管理員可以會衡量以下基本的首要原則:通常數(shù)據(jù)庫給OLTP系統(tǒng)的數(shù)據(jù)塊大小為8 KB 或 16 KB通常數(shù)據(jù)庫給DW系統(tǒng)的數(shù)據(jù)塊大小為8 KB 或 16 KB,有時候甚至大到64 KB都可以。一個4 KB的數(shù)據(jù)庫塊尺寸大小可以在VLDBs包含上千個非常小的段的情況下提高性能。除此

13、之外,為了避免不必要的I/O操作,塊尺寸應該是多操作系統(tǒng)基本數(shù)據(jù)塊的大?。ǚ峙鋯卧R园l(fā)布的9i來講,ORACLE在同一數(shù)據(jù)庫中可支持多塊尺寸大小。這種能力提高I/O性能,因為在數(shù)據(jù)庫里的每一表格空間選擇最好的塊尺寸大小是不可能的。表格空間分配對于表格空間來講,基本的在表格空間設(shè)計的方向是為了達到一個好的基于相對立的性能及可靠性兩者之間的選擇是:在表格空間內(nèi)分散數(shù)據(jù),由于使得每一個表格空間段包含最大的具有相似特性的數(shù)據(jù)。 I/O訪問率 I/O尺寸 訪問模式(讀VS寫,連續(xù)VS隨機) 時間段的范圍 這使得你可以容易地選擇最好的條帶單元大小,來取得最多的I/O存儲子系統(tǒng)和最小化數(shù)據(jù)塊。在表格空間內(nèi)分配數(shù)據(jù)必須注意表格空間的維護要求。特別的操作需要表格空間在離線的狀態(tài)。舉個例子來講,由于系統(tǒng)表格空間不可以離線,建議最好避免在之內(nèi)存放數(shù)據(jù)。有了這些向?qū)?,以下列出了最重要的推薦。只放置字典段及系統(tǒng)反轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論