某醫(yī)院經(jīng)過四次IT系統(tǒng)升級改造,系統(tǒng)性能改善并不明顯,問題到底出在那里呢?
表1 SPC-1IOPS測試值超過10萬的磁盤陣列
用戶通常對存儲存在以下幾個錯誤認識。
● 許多磁盤陣列的性能(IOPS)都高于50萬。但實際情況是,當今世界還沒有SPC-1IOPS超過50萬的磁盤陣列。
● 磁盤陣列帶寬的成倍提升也會使磁盤陣列的性能(IOPS)相應成比例得到提升。但實際情況是,在OLTP和數(shù)據(jù)庫應用環(huán)境下,存儲的性能(IOPS)受存儲帶寬的影響很小。
● 磁盤陣列中的Cache在所有情況下都能提升存儲性能(IOPS)。但實際情況是,在OLTP和數(shù)據(jù)庫應用環(huán)境下,存儲的性能(IOPS)受盤陣Cache大小的影響很小。
● 數(shù)據(jù)庫中所有的數(shù)據(jù)都需要高性能(IOPS)。但實際情況是,在多數(shù)應用中,只有數(shù)據(jù)庫中的少數(shù)數(shù)據(jù)需要高存儲性能(IOPS)。
4次升級帶來的困惑
由于企業(yè)的業(yè)務對信息化越來越依賴,用戶的業(yè)務對應用性能的要求也就越來越高,這使得用戶經(jīng)常要面對IT系統(tǒng)的升級擴容問題。從技術(shù)角度看,IT系統(tǒng)的升級改造比建設一個全新的IT系統(tǒng)難度更大,而IT系統(tǒng)的升級多是因為系統(tǒng)的性能無法滿足業(yè)務的需求而進行的。
IT系統(tǒng)升級改造失敗的例子很多,甚至在最初的IT系統(tǒng)規(guī)劃期就埋下了導致系統(tǒng)很快就需要改造的種子。
下面是一個典型的案例。北京某醫(yī)院因業(yè)務部門抱怨HIS系統(tǒng)的響應時間越來越慢,而對HIS系統(tǒng)進行升級改造。
醫(yī)院信息中心的相關(guān)人員與幾個供應商會診后,確認是硬件指標太低,造成性能太慢。硬件差,簡單,只要有資金就可以解決。銷售商推薦了更高規(guī)格的硬件設備。于是,醫(yī)院HIS系統(tǒng)采用了新購置的高性能硬件,這就是第一次IT系統(tǒng)升級改造。
IT系統(tǒng)第一次升級改造,醫(yī)院購買了高性能指標的服務器和盤陣。
● 換服務器:采用某品牌的服務器,CPU從兩個增加到4個,主頻從1.8 GHz變成3.4,GHz,內(nèi)存從2GB擴充到4GB。
● 換存儲設備:SCSI盤陣太慢,換成2Gb光纖盤陣,加上2Gb的光纖交換機,并采用SAN存儲架構(gòu)技術(shù)。最終,該醫(yī)院采用了某品牌的盤陣(雙控、7X500GB SATA硬盤,總?cè)萘繛?.5TB),連同數(shù)據(jù)備份一并解決。
這次系統(tǒng)改造價格并不貴,總價在30萬元以內(nèi),并未超過原來的預算。
一個月過去了,財務部門反映,采用新設備進行結(jié)算,速度和以前差不多。
硬件已經(jīng)提升了,有問題只可能是軟件了,于是又有了第二次IT系統(tǒng)升級改造——應用軟件優(yōu)化。軟件公司也盡了力,但應用性能的改善仍然不明顯。
最后,軟件公司找來了一位高人,檢測后認為,問題還是出在硬件上,是存儲的I/O性能差。于是又有了第三次IT系統(tǒng)升級改造——優(yōu)化存儲的I/O性能。
硬件廠商的工程師對盤陣上的系統(tǒng)版本進行升級,并打了新的補丁,還是不見效果。后來,硬件廠商的一位高級技術(shù)經(jīng)理表示:“現(xiàn)在用的這個盤陣規(guī)格太低,只適合做備份,不適合做OLTP應用,如果使用更高檔的全光纖盤陣,應該就沒有問題了?!庇谑怯辛说谒拇蜪T系統(tǒng)升級改造——再次更換磁盤陣列。
現(xiàn)在是2007年,主流產(chǎn)品都是4Gb的光纖盤陣,于是用戶又更換了更高指標的存儲設備,總帶寬達到16Gb。盤陣的Cache是4GB,硬盤使用了8塊300GB的4Gb光纖硬盤。此外,又在服務器上增加了兩塊4Gb FC HBA卡,服務器的內(nèi)存也增加到8GB,還更換了4Gb光纖交換機。
這次升級又投入不少資金,但一個月后業(yè)務部門又反映,月底財務結(jié)算時,速度仍然和以前一樣——客戶端的各種操作響應與第一次系統(tǒng)升級改造后的情況差不多。
經(jīng)過四次IT系統(tǒng)升級改造,性能改善并不明顯,問題到底出在那里呢?
在很多招標項目中,我們常??吹接脩暨@樣設定他們的存儲需求:磁盤系統(tǒng)的性能(IOPS)高于50萬;磁盤系統(tǒng)裸容量大于多少TB;存儲系統(tǒng)必須通過提供可用的部件冗余設計,如電源、風扇及核心關(guān)鍵模塊等,使系統(tǒng)的可靠性達到最高級別;磁盤系統(tǒng)應具有多平臺/多主機的連接能力,能滿足服務器及應用系統(tǒng)對數(shù)據(jù)的集中存儲和管理要求,同時,可以集中管理和分配存儲容量,提高生產(chǎn)效率,并提供對主流集群系統(tǒng)的支持;可通過存儲管理軟件集中管理,通過Web、控制臺、GUI界面等方式對磁盤陣列的各項指標進行管理和調(diào)整……
用戶完全按照上述要求招標得到的存儲系統(tǒng),就一定能夠滿足他們的應用需求嗎?我們認為,實際情況并不是這樣。
澄清錯誤認識
許多磁盤陣列的性能(IOPS)都高于50萬?
我們經(jīng)常在各個存儲廠商的磁盤陣列產(chǎn)品彩頁上看到,這些磁盤陣列產(chǎn)品被標上幾十萬甚至幾百萬IOPS的存儲性能。這些磁盤陣列在OLTP、數(shù)據(jù)庫應用環(huán)境下,真有那么高的性能嗎?
存儲系統(tǒng)性能指標IOPS(I/Os Per Second)的大小取決于許多測試參數(shù),如測試數(shù)據(jù)的類型,是順序還是隨機;測試數(shù)據(jù)塊的大小尺寸;被測存儲產(chǎn)品的RAID級別設置;被測存儲產(chǎn)品的磁盤數(shù)量及轉(zhuǎn)速等。而同樣配置規(guī)格的磁盤存儲系統(tǒng),在不同標準下測出的IOPS結(jié)果也會有天壤之別。100%順序讀的IOPS會比100%隨機寫的IOPS高25倍以上。
實際上,許多廠商在其產(chǎn)品彩頁上公布的IOPS(高達幾百萬)是對該產(chǎn)品中的Cache進行100%順序讀的測試結(jié)果。對于運行聯(lián)機事務處理(OLTP)、數(shù)據(jù)庫和E-mail等應用的用戶而言,由于應用對數(shù)據(jù)的訪問中,隨機I/O占很大比例,因此廠商產(chǎn)品彩頁上的IOPS指標對用戶選擇滿足自身應用需求的存儲產(chǎn)品沒有太大參考價值。
反映聯(lián)機事務處理、數(shù)據(jù)庫和E-mail等應用環(huán)境下的存儲性能指標是SPC-1IOPS。
SPC的全稱是Storage PerformanceCouncil(即存儲性能理事會)。這是一個非贏利組織,成員由幾乎全部的國外存儲廠商和部分大學、研究機構(gòu)組成,其使命是定義、標準化存儲系統(tǒng)的基準測試。其SPC-1基準測試很好地模擬了聯(lián)機事務處理(OLTP)、數(shù)據(jù)庫和E-mail等真實應用環(huán)境下存儲產(chǎn)品的性能。SPC-1基準測試包含以下三項主要測試指標,即SPC-1IOPS(MaximumThroughput,每秒輸入輸出次數(shù)的最大值)、SPC-1 LRT(Average Response Time at the lowlevel of demand,平均響應時間)、SPC-1 Price-Performance($/SPC-1IOPS,每SPC-1IOPS的價格),用戶可以從中了解存儲產(chǎn)品在聯(lián)機事務處理(OLTP)、數(shù)據(jù)庫和E-mail等真實應用環(huán)境下的性能和性價比。
何處可查SPC-1IOPS測試結(jié)果?
從SPC網(wǎng)站(http://www.storageperformance.org/results/benchmark_results_spc1)上可以查到所有進行SPC-1基準測試的存儲產(chǎn)品的SPC-1IOPS測試結(jié)果。每份SPC-1基準測試報告的主要內(nèi)容如下:SPC和廠商雙方對SPC-1測試結(jié)果的簽字認可;SPC-1測試結(jié)果;被測存儲系統(tǒng)的詳細配置和價格;被測存儲系統(tǒng)的測試配置連接圖;測試詳細記錄等。
各存儲廠商增加被測產(chǎn)品SPC-1IOPS值的辦法有兩個:盡量使用小容量(如36GB、73GB)、高轉(zhuǎn)速(15krpm)的磁盤,盡量增加被測產(chǎn)品的磁盤數(shù)量,因為單塊磁盤的容量越小、轉(zhuǎn)速越高,其IOPS值越高,磁盤數(shù)量越多,通過RAID 0獲得的IOPS值越高;盡量選擇RAID 10設置,因為在各種RAID級別中,RAID 10的IOPS值最高。
當今世界還沒有SPC-1IOPS超過50萬的磁盤陣列。除了固態(tài)存儲外,SPC-1IOPS測試值超過10萬的磁盤陣列只有3個品牌的6種型號(見表1)。
總結(jié)所有的SPC-1基準測試報告,從中得出的結(jié)論是:SPC-1IOPS值隨被測存儲產(chǎn)品的磁盤數(shù)量和轉(zhuǎn)速而線性增長。因此,我們可以估計未進行SPC-1基準測試的高端存儲產(chǎn)品的SPC-1IOPS值。Fujitsu Storage Systems ETERNUS8000 Model 2100(最多可容納2760塊磁盤),其滿配置的SPC-1IOPS估計值=(2760/664)X108745.34=452013.76。EMC DMX-3(最多可容納1920塊FC磁盤),其滿配置的SPC-1IOPS估計值=(1920/512)X123033.40=461375.25。HDS USP V(最多可容納1152塊磁盤),其滿配置的SPC-1IOPS估計值=(1152/512)X123033.40=276825.15。據(jù)此我們可以說,當今還沒有SPC-1IOPS超過50萬的磁盤陣列。
下列公式可幫助用戶估算其所采購的磁盤陣列的真實性能(SPC-1IOPS)。所購盤陣的真實性能(SPC-1IOPS)=[所購磁盤陣列的磁盤轉(zhuǎn)數(shù)(rpm)/SCP-1報告中被測磁盤陣列的磁盤轉(zhuǎn)數(shù)(rpm)]X[所購磁盤陣列的磁盤數(shù)量/SCP-1報告中被測磁盤陣列的磁盤數(shù)量]XSPC-1報告中的SPC-1IOPS值。
磁盤陣列帶寬的成倍提升也會使磁盤陣列的性能(IOPS)相應成比例得到提升。
以Fujitsu的ETERNUS系列磁盤陣列為例,我們從SPC網(wǎng)站上找到同一型號盤陣的不同接口帶寬配置的SPC-1基準測試報告進行比對,得到的結(jié)果如表2所示。
以IBM的DS系列磁盤陣列為例,我們從SPC網(wǎng)站上找到同一型號盤陣的不同接口帶寬配置的SPC-1基準測試報告進行比對,得到的結(jié)果如表3所示。
從表中可以看出:帶寬的成倍提高,只帶來約6%~7%的IOPS性能提升。這說明在OLTP和數(shù)據(jù)庫應用環(huán)境下,IOPS受存儲帶寬的影響很小。在OLTP和數(shù)據(jù)庫應用環(huán)境下,提升存儲帶寬對改善IOPS不明顯的原因是木桶原理、短板效應。因為在磁盤陣列這個整體中,磁盤本身的性能是其中“最短的一塊板”。
前文提到的失敗案例,就是用戶不清楚在OLTP和數(shù)據(jù)庫環(huán)境下,磁盤陣列的性能(IOPS)主要取決于磁盤的數(shù)量和轉(zhuǎn)速,提升存儲帶寬對改善IOPS的作用并不大。該用戶在幾次升級改造中,雖然將存儲從SCSI升級到2Gb光纖+JBOD,最后到4Gb光纖+JBOD盤陣,但磁盤數(shù)量卻從14塊18GB 10k rpm盤減到最后的8塊300GB 10Krpm盤。因此,在存儲硬件這一部分,存儲的性能(IOPS)實際上不升反降。如果最初的應用性能不佳是硬件性能不夠的判斷是正確的,那么后來的幾次升級改造雖然提高了服務器的處理能力,但存儲的性能(IOPS)并未提高,有這樣一塊“短板”存在,應用的性能沒有改善也就不足為奇了。
磁盤陣列中的Cache在所有情況下都能提升存儲性能(IOPS)?
以Fujitsu的ETERNUS系列磁盤陣列為例,我們從SPC網(wǎng)站上找到相關(guān)不同Cache配置的SPC-1基準測試報告進行比對,得到的結(jié)果如表4所示。
以IBM的DS系列磁盤陣列為例,我們從SPC網(wǎng)站上找到相關(guān)不同Cache配置的SPC-1基準測試報告進行比對,得到的結(jié)果如表5所示。
從表中可以看出:磁盤陣列的性能(IOPS)隨盤陣的磁盤數(shù)量和轉(zhuǎn)速增加而同比例提升;大比例地增加磁盤陣列的Cache,無法獲得同比例的性能(IOPS)增加。因此,在OLTP和數(shù)據(jù)庫應用環(huán)境下,IOPS受盤陣Cache大小的影響很小。
在OLTP和數(shù)據(jù)庫應用環(huán)境下,增加盤陣的Cache對改善IOPS不明顯的原因同樣是木桶原理、短板效應。因為在OLTP和數(shù)據(jù)庫應用環(huán)境下,盤陣Cache的命中率很低。而在磁盤陣列這個整體中,磁盤本身的性能是其中“最短的一塊板”。
數(shù)據(jù)庫中所有的數(shù)據(jù)都需要高性能(IOPS)嗎?
幾乎所有數(shù)據(jù)庫廠商的性能調(diào)整手冊或白皮書都告誡用戶:需要把數(shù)據(jù)庫的Temp Tables、Tedo Logs等單獨存儲于由盡量多的物理磁盤組成的邏輯卷上(雖然這些文件都很小)。這說明數(shù)據(jù)庫的這些數(shù)據(jù)需要較高的存儲性能(IOPS),而數(shù)據(jù)庫的其他數(shù)據(jù)相對而言需要的存儲性能(IOPS)較低。數(shù)據(jù)庫廠商已經(jīng)清楚地告訴了用戶,數(shù)據(jù)庫中的數(shù)據(jù)對存儲性能(IOPS)的需求是不同的,并非所有數(shù)據(jù)都需要高存儲性能(IOPS)。
通常情況下,數(shù)據(jù)庫中只有少部分數(shù)據(jù)需要高存儲性能(IOPS),而大部分數(shù)據(jù)對存儲性能(IOPS)的要求較低。
在現(xiàn)實應用中,這種情況比比皆是。比如,某省郵政儲蓄的綜合業(yè)務系統(tǒng)負責全省郵政儲蓄的一本賬、大會計、客戶信息管理、綜合柜員制等現(xiàn)代商業(yè)銀行業(yè)務的運行。隨著業(yè)務的發(fā)展,該系統(tǒng)日益受到性能問題的困擾。雖然系統(tǒng)經(jīng)過多次優(yōu)化,包括將高端存儲系統(tǒng)的磁盤數(shù)量從不足100塊增加到226塊,但隨著網(wǎng)點、客戶數(shù)量的增加,以及新業(yè)務的開通,系統(tǒng)仍舊受到性能問題的困擾。通過對運行綜合業(yè)務系統(tǒng)的生產(chǎn)服務器一整天的CPU利用率歷史記錄進行分析,到出了如下結(jié)論:用戶綜合業(yè)務系統(tǒng)的服務器CPU數(shù)量和運算能力基本可以滿足業(yè)務需求,應用性能差的原因不是CPU運算能力不足或數(shù)量不夠,而是CPU的處理能力被I/O等待所消耗,也就是存儲系統(tǒng)的性能不足導致了應用的性能比較差。
該實例表明了以下事實:數(shù)據(jù)庫中只有少部分數(shù)據(jù)需要高存儲性能(IOPS),大部分數(shù)據(jù)對存儲性能(IOPS)的要求較低。在OLTP、數(shù)據(jù)庫應用環(huán)境下,通過增加存儲系統(tǒng)中磁盤數(shù)量來提升存儲性能(IOPS),以滿足少部分數(shù)據(jù)對高性能(IOPS)的需求,這種方式是否經(jīng)濟合理,用戶應該算一算賬,并重新審視一下。
相關(guān)鏈接:Curtis公司的IT系統(tǒng)能力評估分析和優(yōu)化服務
雖然分層存儲解決方案能在滿足用戶對存儲容量和性能需求的同時,降低用戶存儲的TCO,但實施分層存儲需要用戶了解其應用對存儲性能(IOPS)的需求,以及數(shù)據(jù)對IOPS的需求分布(即哪些、多少數(shù)據(jù)需要什么水平的IOPS),而這并不是每一個用戶都能做到的。
Curtis公司免費提供的IT系統(tǒng)能力評估分析和優(yōu)化服務,其目標是幫助用戶更好地理解其現(xiàn)有IT系統(tǒng)的能力、性能和局限性,向用戶提供現(xiàn)有以及未來所需計算資源(包括存儲資源)的報告,并向用戶提供IT系統(tǒng)規(guī)劃和優(yōu)化建議。借助Curtis公司免費提供的IT系統(tǒng)能力評估分析和優(yōu)化服務,用戶可方便地實施分層存儲解決方案。
Curtis公司免費提供的IT系統(tǒng)能力評估分析和優(yōu)化服務的具體流程如下。
客戶環(huán)境下相關(guān)系統(tǒng)和應用的研究 了解需要進行規(guī)劃和優(yōu)化的系統(tǒng)和應用的功能及現(xiàn)有能力。
確定重要的性能參數(shù)和度量標準 按照IT系統(tǒng)能力評估分析和優(yōu)化服務及客戶的需求,確定應用的從屬或者系統(tǒng)相關(guān)性;影響應用性能的度量標準的采樣等;系統(tǒng)相關(guān)性能度量標準的采樣等。
基準腳本的客戶定制 腳本定制以客戶需求為基礎;腳本樣本包括存儲(STKIO和IOGEN)、網(wǎng)絡(NETPERF和NETTEST)以及處理器(SPEC and Byte);所采用的腳本以過去的客戶經(jīng)驗為基礎。
適當時間段內(nèi)數(shù)據(jù)樣本的采集在客戶系統(tǒng)上執(zhí)行定制腳本就可以得到分析所需的性能數(shù)據(jù);對客戶網(wǎng)絡工作負載的影響最小化;收集的樣本用來描述現(xiàn)有特征;以這些數(shù)據(jù)為基準與未來數(shù)據(jù)進行比較。
數(shù)據(jù)分析 獲得性能參數(shù)以后,就可以進行趨勢分析;矩陣結(jié)構(gòu)能對性能指標進行相關(guān)性和對照性分析;進行可擴展性和設定分析;優(yōu)化方案的結(jié)論和建議。
IT系統(tǒng)能力評估分析和優(yōu)化服務結(jié)果的檔案記錄和提交 對結(jié)論及其含義的解釋;對下一步系統(tǒng)解決方案結(jié)構(gòu)的建立,或優(yōu)化系統(tǒng)配置的建議規(guī)劃。