如何評(píng)估你是否適合采用固態(tài)硬盤?
【W(wǎng)atchStor獨(dú)家譯文】固態(tài)硬盤(SSD)是一項(xiàng)需要謹(jǐn)慎規(guī)劃和對(duì)存儲(chǔ)架構(gòu)深入了解的投資。當(dāng)打算投資固態(tài)硬盤的時(shí)候,IT經(jīng)理如何了解這些情況?IT經(jīng)理如何信心飽滿地確定這項(xiàng)投資一定有回報(bào)?隨著最近幾年固態(tài)硬盤成本不斷降低,考慮這些問題也變得越來越有必要。固態(tài)硬盤成本的降低使得適合采用固態(tài)硬盤的應(yīng)用工作流程數(shù)量也在不斷增加。
有一個(gè)流程可以幫助你確保在合適的時(shí)間投資固態(tài)硬盤、為你的企業(yè)機(jī)構(gòu)帶來***利益、在部署之前都就知道能夠快速獲得投資回報(bào):
***步,收集關(guān)于環(huán)境的數(shù)據(jù)。你不僅需要關(guān)于存儲(chǔ)I/O的信息,還需要關(guān)于應(yīng)用服務(wù)器的信息。對(duì)于大多數(shù)環(huán)境來說,有很多可以使用的免費(fèi)工具。大多數(shù)UNIX環(huán)境可以使用IOstat,大多數(shù)Windows環(huán)境可以使用Perfmon。
第二步,查看CPU利用率。有這么一項(xiàng)黃金定律,如果你的CPU利用率超過33%,那么你可能在應(yīng)用棧的其他某個(gè)地方遇到瓶頸。達(dá)到33%或者低于33%意味著服務(wù)器CPU處于等待狀態(tài)。
為了確定存儲(chǔ)I/O性能是否是問題根源所在,下一個(gè)步驟就是找出一臺(tái)磁盤持續(xù)工作的應(yīng)用服務(wù)器上的一個(gè)任務(wù)。我們希望從這個(gè)任務(wù)中查看磁盤隊(duì)列或者硬盤隊(duì)列的深度。隊(duì)列深度是一臺(tái)設(shè)備上承載命令隊(duì)列中的命令數(shù)量。當(dāng)我們討論你是否適合采用固態(tài)硬盤的時(shí)候,關(guān)鍵問題就在不能填滿隊(duì)列和鎖定服務(wù)器。反過來,我們的目標(biāo)是確保存儲(chǔ)陣列能夠高效地處理隊(duì)列深度。Perfmon工具將隊(duì)列深度作為一項(xiàng)單獨(dú)數(shù)據(jù)提供給用戶;IOstate則是以利用率的形式——也就是隊(duì)列深度×100%——提供給用戶。
如果你的隊(duì)列深度經(jīng)常高于1的話,這就意味著你經(jīng)常有一個(gè)在存儲(chǔ)中等待回應(yīng)的命令。為了提升性能,你要么提高每個(gè)驅(qū)動(dòng)器的響應(yīng)時(shí)間,要么增加驅(qū)動(dòng)器的數(shù)量——因?yàn)轵?qū)動(dòng)器可以并行處理命令。而增加驅(qū)動(dòng)器存在一個(gè)挑戰(zhàn),那就是每個(gè)驅(qū)動(dòng)器的磁盤操作低于1的話,你就不會(huì)獲得性能方面的提升。例如,如果你有一個(gè)5+1驅(qū)動(dòng)器RAID組,隊(duì)列深度為10,那么向這個(gè)陣列中添加更多驅(qū)動(dòng)器可以提高性能。但是,如果在這個(gè)陣列組的隊(duì)列深度為4,那么增加額外驅(qū)動(dòng)器幾乎不會(huì)有性能上的提升。
從對(duì)隊(duì)列深度的研究中我們得出兩個(gè)結(jié)論。***,一旦隊(duì)列深度低于陣列中驅(qū)動(dòng)器的數(shù)量,你就可以看到添加驅(qū)動(dòng)器是否可以提升性能,或者降低驅(qū)動(dòng)器響應(yīng)時(shí)間是否是提升性能的唯一方法。第二,你可以看到是否需要投入大量資金來增加陣列中驅(qū)動(dòng)器數(shù)量以滿足隊(duì)列深度。
在這兩種情況下,投資固態(tài)硬盤可能是很理想的選擇,很多情況下可能會(huì)是一個(gè)成本較低的解決方案。如果你決定了需要針對(duì)小型數(shù)據(jù)集提供大量驅(qū)動(dòng)器以支持應(yīng)用I/O需求的話,固態(tài)硬盤就會(huì)是一個(gè)更加經(jīng)濟(jì)的選擇。提升驅(qū)動(dòng)器性能的另一個(gè)選擇就是短擊驅(qū)動(dòng)器。短擊是只在盤片外邊緣——也就是驅(qū)動(dòng)器轉(zhuǎn)速最快的區(qū)域——進(jìn)行格式化的方法。這樣做可以提高驅(qū)動(dòng)器響應(yīng)時(shí)間。不過這需要額外的驅(qū)動(dòng)器支持,也就是說,需要購買高速、高成本的驅(qū)動(dòng)器。
如果你不能并行處理隊(duì)列命令,那么你可以通過固態(tài)硬盤執(zhí)行更多命令來縮短響應(yīng)時(shí)間,因?yàn)楣虘B(tài)硬盤在原始速度方面具有一定優(yōu)勢(shì),因此還可以用來減少隊(duì)列深度。在測(cè)量當(dāng)前響應(yīng)時(shí)間方面,IOstate和Perfmon都是不錯(cuò)的工具。為了提高機(jī)械驅(qū)動(dòng)器的響應(yīng)時(shí)間,你要么需要購買轉(zhuǎn)速更高的驅(qū)動(dòng)器,短擊這些驅(qū)動(dòng)器,要么提高緩存容量。在解決驅(qū)動(dòng)器響應(yīng)時(shí)間方面我們將面臨著1.5萬轉(zhuǎn)驅(qū)動(dòng)器這個(gè)瓶頸。對(duì)于機(jī)械驅(qū)動(dòng)器來說,5到10毫秒的時(shí)間是一個(gè)理想的響應(yīng)時(shí)間,相比之下,固態(tài)硬盤在響應(yīng)時(shí)間方面則有大幅的提升。目前基于閃存的系統(tǒng)一般都能夠提供0.2毫秒的響應(yīng)時(shí)間,基于DRAM的系統(tǒng)則可以輕松提供0.015毫秒的響應(yīng)時(shí)間。
提高機(jī)械驅(qū)動(dòng)器響應(yīng)時(shí)間的***一個(gè)選擇就是提高緩存容量。不過問題是大多數(shù)系統(tǒng)的緩存容量是有限的,而且緩存的成本也非常高。雖然像連續(xù)日志和大多數(shù)寫入任務(wù)都不是那么耗費(fèi)緩存,但是存儲(chǔ)系統(tǒng)緩存仍然需要解決存儲(chǔ)軟件管理快照、復(fù)制和其他常用存儲(chǔ)功能帶來的開銷,所以存儲(chǔ)系統(tǒng)的響應(yīng)時(shí)間一般都在0.5毫秒左右。基于DRAMN的固態(tài)硬盤可以提供更高的內(nèi)存容量,利用更多通用內(nèi)存,更快速地處理操作而延遲更低。
你是可以提前了解自己是否適合采用固態(tài)硬盤,目前市場(chǎng)中已經(jīng)有很多這方面的分析功能,而且已經(jīng)實(shí)現(xiàn)了標(biāo)準(zhǔn)化。查看CPU利用率、隊(duì)列深度以及響應(yīng)時(shí)間都可以幫助你決定是否適合于采用固態(tài)硬盤。即使你認(rèn)為不存在性能方面的問題,那些你也有必要進(jìn)行上述分析,最終結(jié)果可能讓你倍感意外。目前固態(tài)硬盤的價(jià)格非常誘人,這大大擴(kuò)展了它可能惠及的范圍。【W(wǎng)atchStor獨(dú)家譯稿,未經(jīng)許可禁止轉(zhuǎn)載。合作伙伴請(qǐng)注明原作者及出處為WatchStor.com】