CPU、緩存、存儲性能?還是別鬧了-存儲系統(tǒng)采購指南
原來,W主任是一家國企設(shè)計院的信息化主任,最近,單位的信息化系統(tǒng)要改造,決定上一套存儲系統(tǒng)實現(xiàn)存儲資源的集中。本來,W博士所在的設(shè)計院以前從來沒部署過存儲系統(tǒng),這次W主任想當(dāng)然認(rèn)為存儲應(yīng)用的需求也應(yīng)該較為簡單,無非是單位外部網(wǎng)站建設(shè)、內(nèi)部資料圖庫的整理還有一些OA系統(tǒng)和財物數(shù)據(jù)的存放。
占系統(tǒng)資源絕大部分的還是設(shè)計院的資料圖庫,要知道W主任所在的設(shè)計院是國家一級設(shè)計院,多年來積累了大量的設(shè)計圖文件,這些文件的大小分別從幾兆到幾百兆,占用了大量的存儲空間。而一些OA系統(tǒng)、財務(wù)數(shù)據(jù)還有圖庫的索引系統(tǒng)則涉及到數(shù)據(jù)庫的應(yīng)用。
根據(jù)幾家集成商的建議,最后方案基本確定為雙機熱備方案了,基本大家一致覺得這種方案的可靠性較高。雙機熱備方案中服務(wù)器的選擇W主任還是比較有經(jīng)驗的,無非是CPU、緩存等等硬件指標(biāo),但對于存儲系統(tǒng)的選擇,卻讓以前從未接觸過存儲系統(tǒng)的W主任犯了難。
存儲采購,有一點苦惱
經(jīng)過幾家集成商的輪番忽悠,再對照存儲系統(tǒng)的性能參數(shù)表一看,W主任發(fā)現(xiàn)存儲系統(tǒng)的參數(shù)表還頗有些奇怪的地方。
就比如說存儲系統(tǒng)的出口帶寬,本來用光纖硬盤的存儲系統(tǒng)毫無疑問比SCSI硬盤的存儲系統(tǒng)要貴出很多,理論上性能應(yīng)該更好帶寬應(yīng)該更大,幾家集成商也都眾口一詞力勸W主任選擇光纖存儲系統(tǒng),但W主任仔細(xì)一琢磨:光纖的主機接口,如果不是4Gb的接口卡,那么一個主機接口才提供2Gb的帶寬,而SCSI目前都是Ultra 320 SCSI技術(shù),一個主機接口的帶寬就大約在3Gb左右,看起來便宜的反而帶寬更大速度更快了。
W主任實在有點糊涂,除此之外,還有IOPS、LUN等等看起來高深復(fù)雜的參數(shù)也讓W(xué)主任摸不著頭腦。這不,W主任只好搬來了救兵,打電話給老同學(xué)O博士請教了。
決定性能的兩大指標(biāo)
兩人約在了單位附近的一家避風(fēng)塘見面,O博士一進(jìn)來,就看見坐在角落里默默抽煙的W主任,不僅嘆了口氣,該好好幫幫老同學(xué)了。兩人簡單的寒暄說明了情況之后,心急的W主任首先發(fā)問:采購存儲系統(tǒng)時最需要考慮的是哪些指標(biāo)?
O博士不慌不忙也點上了一支煙,開始侃侃而談:首先,存儲系統(tǒng)的采購和服務(wù)器是完全不同的,并不是CPU越強勁、緩存越大、主機接口越多的系統(tǒng)性能就一定好。如果你這樣認(rèn)為,只能說明你對存儲系統(tǒng)還不夠了解。
綜合評價存儲系統(tǒng)的整體性能指標(biāo)的參數(shù)通常有兩點,IOPS和帶寬。前者表示單位時間內(nèi),系統(tǒng)所能夠執(zhí)行的I/O總數(shù);后者表示單位時間內(nèi),系統(tǒng)所能完成的數(shù)據(jù)讀取總量。毫無疑問,這兩項參數(shù)數(shù)值越大,說明存儲系統(tǒng)單位時間內(nèi)的處理能力和吞吐能力越強。而這兩點參數(shù)通常在產(chǎn)品的性能參數(shù)里面有明確的說明,因此理論上,通過這兩個參數(shù)就可以明確的知道存儲系統(tǒng)的綜合表現(xiàn)了,這就是存儲系統(tǒng)采購簡單的地方。
聽到這里,W主任恍然大悟,開始明白那些廠商列在系統(tǒng)參數(shù)表上的參數(shù)的涵義了,但又有點不放心:存儲系統(tǒng)的采購真的就這么簡單?
說到這里,O博士意味深長的笑了:如果廠商真的會把存儲系統(tǒng)的真實參數(shù)老老實實列在產(chǎn)品說明里面,那存儲行業(yè)還有什么神秘可言呢?
原來,存儲廠商列在產(chǎn)品參數(shù)表上的數(shù)據(jù)都是在完全理想的狀態(tài)下測試出來的,甚至可說是完全為了推廣所采用的外部數(shù)據(jù),實際上真實的使用環(huán)境中,存儲系統(tǒng)的IOPS與帶寬絕對與產(chǎn)品參數(shù)表上的數(shù)值相差甚遠(yuǎn)。因此,反過頭來,我們?nèi)匀恍枰パ芯看鎯ο到y(tǒng)的硬件配置了,但是也并不能機械簡單的比較各項參數(shù)的數(shù)值,而需要考慮很多參數(shù)表以外的因素。
緩存對IOPS的影響
首先,中端和高端的光纖存儲系統(tǒng)和ISCSI存儲都是基于控制器架構(gòu)的,對這部分產(chǎn)品來說,存儲性能的好壞關(guān)鍵在于控制內(nèi)部的結(jié)構(gòu)設(shè)計,設(shè)計先進(jìn)的控制器可能處理效率非常高,因而并不一定要求很高速的CPU,也不需要很大的緩存。設(shè)計不好的存儲即就是采用了很好CPU,很大的緩存,其性能也不見得就好。 #p#page_title#e#
但是緩存對性能仍然是有很大的影響的,主要體現(xiàn)在讀數(shù)據(jù)時候的緩存命中率上。存儲設(shè)備寫數(shù)據(jù)的時候,都是先寫入緩存,再從緩存批量寫入磁盤,因此存儲系統(tǒng)寫入操作通常都會比較快。讀數(shù)據(jù)的時候,存儲設(shè)備則會先搜索一遍緩存,看看數(shù)據(jù)是否能在緩存命中,如果能命中,則能夠非??焖俚淖x取,如果不能,則需要耗費數(shù)倍的時間到磁盤去尋找并讀取。
因此,緩存對系統(tǒng)性能的影響實際上體現(xiàn)在讀數(shù)據(jù)的緩存命中率上,緩存命中率越高,系統(tǒng)的IOPS值就越高。而緩存命中率又受到多方面的因素影響(包括系統(tǒng)算法、數(shù)據(jù)分布還有訪問規(guī)則等等),緩存大小只是其中之一,因此盲目增大緩存,并不一定能夠提高緩存命中率,也不一定能增強系統(tǒng)性能。
以O(shè)博士的經(jīng)驗,在數(shù)據(jù)庫、小文件應(yīng)用的環(huán)境中增大緩存是能夠大幅度提高數(shù)據(jù)寫入的速度,當(dāng)然前提是后端磁盤性能達(dá)到極限。但在大文件讀取的應(yīng)用環(huán)境,增加緩存所帶來的性能提升幅度并不大。例如,在O博士經(jīng)歷過的一些廣電行業(yè)的案例中,有些存儲設(shè)備只采用了2-4GB的緩存,就能夠有700-800M的大帶寬,而有些存儲即使采用32GB的超大緩存,其帶寬性能仍然很低。
帶寬的決定因素
W主任似乎有一點明白了,但又想起最初關(guān)于主機接口的速度的疑問,于是接著問道:系統(tǒng)性能表里面,SCSI接口的速度大約在3Gb/s,光纖接口的卻分為2Gb和4Gb兩種類型,究竟我應(yīng)該選擇哪種主機接口?為什么3Gb/s的SCSI接口反而要比2Gb的光纖接口便宜呢?
O博士喝了口奶茶,耐心的繼續(xù)解釋:主機接口對性能的影響主要體現(xiàn)在帶寬上。實際上,帶寬是受到磁盤個數(shù)和主機接口兩方面共同影響的。存儲系統(tǒng)內(nèi)每個磁盤有允許的最大帶寬,例如,我們假設(shè)每塊磁盤的最大帶寬為13M/s,那么一個陣列如果有120塊磁盤,能夠支持的最大帶寬就是120*13=1560Mb/s,當(dāng)前端接口不成為瓶頸的時候,1560Mb/s就是理論上的最大數(shù)據(jù)流量。
而如果要實現(xiàn)上述的最大帶寬,如果前端采用2GB的光纖卡,可能需要配置6塊才能夠,而4GB的光纖卡,配置3-4塊就夠了。因此存儲系統(tǒng)的最大帶寬是由前端主機接口與磁盤最大帶寬共同制約的。
在后端磁盤不成為瓶頸的情況下,光纖通道對帶寬的影響也還是比較大的,例如數(shù)據(jù)倉庫環(huán)境中,對數(shù)據(jù)的流量要求很大,而一塊2Gb的光纖卡,所能支撐的最大流量應(yīng)當(dāng)是2GB/8=250Mb/s的實際流量,必須配備4塊光纖卡才能達(dá)到1Gb/s的實際流量,所以對于數(shù)據(jù)倉庫的環(huán)境來說,升級到光纖4Gb并不是廠商和集成商的忽悠,在大流量的數(shù)據(jù)環(huán)境下絕對有必要考慮更換4GB的光纖卡的。
但是另外一個方面,主機端口數(shù)量增加到一定數(shù)量,足以完全輸出存儲設(shè)備的最大性能時,再增加更多的主機端口并不會增加性能。因此不能片面地相信主機端口越多性能就越高的說法。
至于光纖卡為什么看起來帶寬速度反而不如便宜的SCSI,曾經(jīng)有專家打過一個比方:光纖之于SCSI,好像火車和馬車相比。雖然世界上第一輛火車沒有馬車跑得快,但后來的發(fā)展證明,火車這一技術(shù)是絕對領(lǐng)先于馬車的。不是你看,現(xiàn)在4Gb的光纖口已經(jīng)超過SCSI了嗎?而且最關(guān)鍵的是,光纖傳輸數(shù)據(jù)更穩(wěn)定,而SCSI則相對而言不那么穩(wěn)定,就像馬車雖然比火車快,但也更容易發(fā)生事故、更容易被打劫一樣。
具體該如何選擇?
W主任真有茅塞頓開的感覺,O博士卻仍然滔滔不絕:剛才我們說的,都是針對光纖陣列而言的。NAS存儲設(shè)備和一些中低端的ISCSI都是基于PC架構(gòu),說白了其核心部分就是一臺PC服務(wù)器,它的性能會因CPU和內(nèi)存變化而發(fā)生變化,但變化也有一定的范圍。
這類存儲其性能一般取決于自身操作系統(tǒng)設(shè)計,文件系統(tǒng)中數(shù)據(jù)管理和數(shù)據(jù)檢索等方面的設(shè)計,而不是CPU和緩存。先進(jìn)高效的文件系統(tǒng)可是存儲產(chǎn)品對外提供非常高的性能。NATAPP的高端NAS為什么性能好,就是因為它內(nèi)部有一個非常高效的文件系統(tǒng),而不是因為CPU和緩存大…… #p#page_title#e#
O博士還在滔滔不絕,W主任卻有些著急了:具體到我們設(shè)計院的環(huán)境,我應(yīng)該采購什么樣的存儲系統(tǒng)呢。
O博士不慌不忙兩手一攤:我不知道!
這下W主任仿佛當(dāng)頭潑下了一盆涼水,嘴巴也張成了一個“O”型,如此博學(xué)多才的老同學(xué)竟然也不知道該咋選擇存儲系統(tǒng)?
O博士仿佛沒看見老同學(xué)夸張的表情般,自顧自說了下去:要想知道梨子的滋味,就必須親自嘗一嘗。因此我的建議是,在采購前,非常有必要對一些系統(tǒng)進(jìn)行實際測試,或者去問問有實際系統(tǒng)使用經(jīng)驗的人也可以。不然,純粹看印刷在產(chǎn)品說明上的系統(tǒng)參數(shù),很難看出門道。
另外很重要的一點,就是要分清楚業(yè)務(wù)類型。基本上不同的業(yè)務(wù)類型對存儲系統(tǒng)的要求是不一樣的。對于數(shù)據(jù)倉庫的環(huán)境,如醫(yī)療PACS系統(tǒng)、視頻編輯系統(tǒng)包括你們設(shè)計院的資料圖庫,數(shù)據(jù)讀取的頻度并不很大,但一次讀取的數(shù)據(jù)量卻異常龐大,這種應(yīng)用對存儲系統(tǒng)的帶寬要求往往比較高,因此在采購時候,盡量多考慮一些可能會對帶寬造成影響的因素。包括硬盤數(shù)量,主機接口等等。
另外一類就是小I/O的數(shù)據(jù)庫應(yīng)用,數(shù)據(jù)寫入讀取的頻度很大,但每次寫入的數(shù)據(jù)大概都在幾個KB的大小,這時候你只需要考慮IOPS的影響,帶寬基本對整體系統(tǒng)的應(yīng)用性能不會產(chǎn)生太大影響。這種情況下,你甚至可以采用一個2Gb的光纖卡,但重點要放在優(yōu)化數(shù)據(jù)結(jié)構(gòu),了解存儲系統(tǒng)的算法規(guī)則上,以求最大限度的提高緩存命中率。
后記:親自嘗梨子的滋味
說到了這里,W主任心里的一塊石頭總算落了地,雖然還不知道具體應(yīng)該采用什么樣的存儲系統(tǒng),但總算有了一點底兒,這些天廠商對他忽悠的各種概念,也仿佛有了一條清晰的主線連接了起來?;叵肫饎傞_始采購的時候,還以CPU、緩存、主機接口這些指標(biāo)來寫招標(biāo)書,W主任真是覺得當(dāng)初對存儲的了解太少了。
O博士這下也沒有絲毫賣弄的意思:拿到一定產(chǎn)品的說明書或產(chǎn)品的宣傳彩頁,千萬別完全迷信上面所寫的技術(shù)參數(shù),更別相信8個4GB FC就能提供3200GB帶寬,8個以太網(wǎng)接口就能提供800M帶寬的鬼話,那都是用來騙外行的。跟你說了這么多,只是希望你們在選擇存儲設(shè)備時,能夠合理和正確地對待CPU、緩存和接口等技術(shù)參數(shù),并根據(jù)自己系統(tǒng)的應(yīng)用類型和帶寬,IOPS等指標(biāo),合理地選擇存儲設(shè)備……
一個下午就這樣在兩位老同學(xué)的交談中過去了,W主任現(xiàn)在對如何選擇存儲設(shè)備已經(jīng)有了清晰的認(rèn)識。但這還只是開始,今后,W主任還打算親自去操作這些存儲系統(tǒng),了解這些存儲系統(tǒng)的實際性能,才能在下次采購的時候不被“忽悠”……