設置 DB2 與AIX條帶技術匹配來對I/O性能進行提高
文章主要描述的是正確設置 DB2 數據庫與 AIX 條帶技術匹配來對 I/O 性能進行提高的實際操作步驟,我們大家都知道條帶化技術,其是一種廣泛使用的 I/O 負載均衡技術,可以在不增加額外硬件投入的情況下極大的提高 I/O 性能。
但是在使用了這種技術的環境中,只有對數據庫和操作系統的 I/O 處理有良好的規劃和設置,使其與條帶化技術相匹配,才能使 I/O 的性能達到***。本文針對這個主題,以 DB2 數據庫和 AIX 操作系統為例,介紹了如何規劃和設置好相關的內容。
條帶化技術是一種廣泛使用的 I/O 負載均衡技術,可以在不增加額外硬件投入的情況下極大的提高 I/O 性能。但是在使用了這種技術的環境中,只有對數據庫和操作系統的 I/O 處理有良好的規劃和設置,使其與條帶化技術相匹配,才能使 I/O 的性能達到***。本文針對這個主題,以 DB2 數據庫和 AIX 操作系統為例,介紹了如何規劃和設置好相關的內容。
下面我們分如下幾個方面來介紹:
條帶化技術介紹
在 DB2 中合理規劃和設置DB2 數據庫條帶有關參數
在 AIX 中合理規劃和設置條帶有關參數
總結
條帶化技術介紹
條帶技術簡介及應用
當多個進程同時訪問一個磁盤時,可能會出現磁盤沖突。大多數磁盤系統都對訪問次數(每秒的 I/O 操作,IOPS)和數據傳輸率(每秒傳輸的數據量,TPS)有限制。當達到這些限制時,后面需要訪問磁盤的進程就需要等待,這時就是所謂的磁盤沖突。
避免磁盤沖突是優化 I/O 性能的一個重要目標,而 I/O 性能的優化與其他資源(如 CPU 和內存)的優化有著很大的區別 ,I/O 優化最有效的手段是將 I/O ***限度的進行平衡。這就需要將一個熱點磁盤上的 I/O 訪問負載分擔到其他相對空閑的磁盤上,也就是 I/O 負載均衡。
在一些成熟的磁盤負載均衡技術出現之前,DBA 需要了解、預測各系統的 I/O 負載量,通過手工配置每個數據到不同存放位置以分擔 I/O 負載來達到負載均衡的目的。
條帶化技術就是一種自動的將 I/O 的負載均衡到多個物理磁盤上的技術,條帶化技術就是將一塊連續的數據分成很多小部分并把他們分別存儲到不同磁盤上去。這就能使多個進程同時訪問數據的多個不同部分而不會造成磁盤沖突,而且在需要對這種數據進行順序訪問的時候可以獲得***程度上的 I/O 并行能力,從而獲得非常好的性能。
很多操作系統、磁盤設備供應商、各種第三方軟件都能做到條帶化。通過條帶化,DBA 可以很輕松的做到 I/O 負載均衡而無需去手工配置。
圖 1 描述的是一個未經條帶化處理的連續數據的分布,圖 2 描述的是一個已經被條帶化處理的連續數據的分布,從中比較,我們可以發現圖 2 中對連續數據的讀寫都有***的并發能力。
圖 1. 未經條帶化處理的連續數據
圖 2. 已經被條帶化處理的連續數據
由于條帶化在 I/O 性能問題上的優越表現,以致于在應用系統所在的計算環境中的多個層次或平臺都涉及到了條帶化的技術,如操作系統和存儲系統這兩個層次中都可能使用條帶化技術。下圖展示了這兩個層次的 I/O 結構。
圖 3.操作系統和存儲系統兩個層次的 I/O 結構
在操作系統的層次中,我們可以使用軟件條帶(如 LVM 中 LV 的條帶來實現條帶化技術)或硬件條帶(如各種 RAID)。在存儲系統層次中,目前市場上絕大部分產品都提供了各種各樣的條帶技術(如各種 RAID)。#p#
條帶化的設置
當使用 LVM 或者硬件條帶化時,決定條帶化效果的因素是條帶深度(stripe depth)和條帶寬度(stripe width):
條帶深度指的是條帶塊的大小,也叫條帶單元;
條帶寬度指的是條帶深度的產量或者一個條帶分布的驅動數;
需要根據系統的 I/O 要求來合理的選擇這些設置DB2 數據庫。對于數據庫系統來說,比較合理的條帶深度是從 256K 到 1M 。下面分析一下條帶深度和條帶寬度的影響因素。
條帶深度
為了提高 I/O 效率,一次邏輯 I/O 請求轉化成物理 I/O 請求后,應該讓這些物理 I/O 分布到最多的物理磁盤上去,也就是每個物理磁盤處理的物理 I/O 最少,***只有一次 , 因而影響條帶的一個重要因素就是一次邏輯 I/O 請求的大小。
此外,系統中 I/O 的并發度不同我們對條帶的配置要求也不同。例如,在高并發度且邏輯 I/O 請求的大小都比較小的情況下,我們希望一塊磁盤能同時響應多個 I/O 請求;而在那些存在大的邏輯 I/O 請求的低并發度系統中,我們可能就需要多塊磁盤同時響應一個 I/O 請求。無論是一個磁盤還是多個磁盤響應 I/O 請求,我們的一個原則是讓一次邏輯 I/O 能被物理設備一次處理完成。
條帶寬度
正如我們前面所述,無論是一個還是多個磁盤響應一個邏輯 I/O,我們都希望物理設備只處理一次 I/O 。因而在確定了條帶深度的基礎上,我們需要保證條帶寬度 >= I/O 請求的大小 / 條帶深度。這樣就能***程度的保證 I/O 請求的并發處理能力了。
此外,考慮到以后系統容量的擴充,我們也需要規劃好條帶寬度,以上的相關內容就是對設置 DB2 數據庫和 AIX 與條帶技術匹配以提高 I/O 性能的介紹,望你能有所收獲。
完整內容的學習,請訪問:
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0812yuancg/
【編輯推薦】
- DB2 V8數據庫系統轉移的實現很簡單!
- 在AIX環境下DB2許可證問題如何是好?
- DB2 For z/OS or OS/390性能如何正確管理?
- IBM DB2中新手要了解的東西有哪些?
- DB2數據庫物化視圖之MQT物化查詢表如何操作?