主機(jī)總線適配器(HBA)
即使價(jià)值2,000美元的HBA也會(huì)對(duì)大型數(shù)據(jù)庫(kù)的性能造成重大影響。對(duì)HBA要考慮兩個(gè)地方:
1.未處理的I/O請(qǐng)求量
2.可以實(shí)現(xiàn)的最大請(qǐng)求量
大多數(shù)HBA在驅(qū)動(dòng)器軟件中將未處理的請(qǐng)求量默認(rèn)值設(shè)置為16,這就限制了發(fā)送給RAID設(shè)備的命令數(shù),即使擁有很多的磁盤(pán)驅(qū)動(dòng)器和隨機(jī)I/O,這個(gè)數(shù)值也可能無(wú)法充分利用存儲(chǔ)資源。
許多操作系統(tǒng)和設(shè)備驅(qū)動(dòng)器都限制了I/O請(qǐng)求的大小,使之小于從表空間讀或向表空間寫(xiě)所需的請(qǐng)求量。應(yīng)該將設(shè)備驅(qū)動(dòng)器內(nèi)所設(shè)的限制更改為允許更大的請(qǐng)求量。當(dāng)然,對(duì)每個(gè)設(shè)備驅(qū)動(dòng)器和操作系
統(tǒng)要做不同的設(shè)置,而且有意思的是,這些設(shè)置常常改變。
存儲(chǔ)硬件
存儲(chǔ)硬件很可能是為數(shù)據(jù)庫(kù)構(gòu)建系統(tǒng)時(shí)最重要的部分之一。你也許希望擁有許多不同的LUN,以便用于數(shù)據(jù)庫(kù)中將發(fā)生的各種類(lèi)型的I/O。舉例來(lái)說(shuō),一般情況下你希望:
重做日志文件擁有高帶寬需求(64 KB),發(fā)送到重做日志的I/O大部分是寫(xiě)
索引查找擁有高帶寬小塊隨機(jī)I/O(8 KB),并且多數(shù)情況下對(duì)索引的I/O大部分是讀
表空間擁有大塊I/O(256 KB),并且一般情況下對(duì)表空間的I/O大部分是讀
正如你所看到的,一種大小是無(wú)法滿足所有需求的,因此你必須完成以下幾組匹配工作:
1.RAID級(jí)別與典型的讀/寫(xiě)訪問(wèn)類(lèi)型
2.?dāng)?shù)據(jù)條寬度與請(qǐng)求大小
3.帶寬需求與RAID級(jí)別和請(qǐng)求大小
4.緩存策略與所處理的I/O類(lèi)型
這些似乎都不太容易,不過(guò)如果你從最基本的問(wèn)題著手,解決起來(lái)也不難。
重做日志
根據(jù)重做日志的大小和帶寬量,你可能最初會(huì)認(rèn)為需要RAID-5數(shù)據(jù)條。這其實(shí)要看情況而定,因?yàn)榇蠖鄶?shù)10K RPM磁盤(pán)的數(shù)據(jù)傳送速度為外磁道柱面每秒69 MB,內(nèi)磁道柱面每秒39 MB,15K RPM的磁
盤(pán)則更快。另外再加上RAID緩存的大小,你就無(wú)須使用RAID-5了。真正的決定因素在于:
1.帶寬需求――每秒多少M(fèi)B的日志數(shù)據(jù)
2.日志的大小――能夠適應(yīng)緩存嗎?
3.你的RAID速度
你必須收集到上述三項(xiàng)重要信息,用各種不同的數(shù)據(jù)庫(kù)和系統(tǒng)工具查看系統(tǒng),確定重做日志的表現(xiàn)是否會(huì)限制數(shù)據(jù)庫(kù)的性能和擴(kuò)展,而如果是,那么重做日志的I/O需求又是什么。
索引文件
索引文件的結(jié)構(gòu)相當(dāng)簡(jiǎn)單。如果你需要速度快一些,就使用數(shù)據(jù)條帶化值很小的RAID-1加上一塊高性能15K磁盤(pán)。因?yàn)樗饕募切K讀文件,并且常常是隨機(jī)I/O,所以這是目前最快的方式。
表空間
根據(jù)表的大小及其被訪問(wèn)和查找的方式,RAID-1有時(shí)是更好的方法,不過(guò)其它時(shí)候RAID-5就是最佳選擇了。關(guān)鍵是決定表空間的I/O請(qǐng)求大小是多少,請(qǐng)求的大小常常取決于數(shù)據(jù)庫(kù)中的可調(diào)參數(shù)。
結(jié)論
關(guān)于不同操作系統(tǒng)上的各種可調(diào)數(shù)據(jù)庫(kù)有許多書(shū)籍和文獻(xiàn)供參考,下面是我讀過(guò)覺(jué)得有用的幾本:
《在Solaris平臺(tái)上配置和調(diào)節(jié)數(shù)據(jù)庫(kù)(Configuring and Tuning Databases on the Solaris Platform)》,作者:Allan N. Packer,Sun微系統(tǒng)公司出版社,出版商:Prentice Hall(2001年12
月5日),ISBN:0130834173。
《Oacle9i性能調(diào)節(jié)方法和技巧(erformance Tuning Tips & Techniques)》,作者:Richard J. Niemiec,出版商:McGraw-Hill Osborne Media(2003年5月12日),ISBN:0072224738。
《創(chuàng)建一個(gè)自調(diào)節(jié)Oracle數(shù)據(jù)庫(kù):自動(dòng)化Oracle9i動(dòng)態(tài)SGA性能[Oracle焦點(diǎn)系列](Creating a Self-Tuning Oracle Database: Automating Oracle9i Dynamic SGA Performance [Oracle In-
Focus series])》,作者:Donald K. Burleson,出版商:Rampant TechPress(2003年8月1日),ISBN:0972751327。
數(shù)據(jù)庫(kù)的構(gòu)建正如其它應(yīng)用一樣,你需要確定數(shù)據(jù)庫(kù)對(duì)文件系統(tǒng)/卷管理器、HBA和RAID的I/O模式,同時(shí)牢記性能需求和成本問(wèn)題。由于數(shù)據(jù)庫(kù)很復(fù)雜,調(diào)節(jié)起來(lái)有些難度,不過(guò)現(xiàn)在有很多工具供
你查看數(shù)據(jù),幫助你理解潛在的I/O問(wèn)題。