通常,適用于所有環(huán)境的三大關(guān)鍵存儲性能指標(biāo)包括:延遲性,吞吐量(或帶寬)以及IOPS.
延遲性(也稱為響應(yīng)時間)描述完成一個I/O(輸入輸出)操作所需要花費(fèi)的時間,其基本上反應(yīng)了一個存儲系統(tǒng)響應(yīng)讀寫請求的速度。
其值通常以毫秒計(jì),最快的閃存驅(qū)動器現(xiàn)在還不到一毫秒。在理想的情況下,延遲等待時間為零,導(dǎo)致應(yīng)用程序讀/寫操作到永久存儲介質(zhì)可以順利實(shí)現(xiàn)。但是,在物理方式情況下,每一個I/O操作都會存在一定的延遲。
對于任何存儲解決方案,其目的是盡量減少延遲值。畢竟,存儲通常是IT基礎(chǔ)設(shè)施的瓶頸。更低的延遲意味著更少的等待完成I/O響應(yīng),因此導(dǎo)致了更快的任務(wù)執(zhí)行。
在虛擬環(huán)境中,延遲性對該虛擬機(jī)(VM)和臺式機(jī)操作的速度有直接影響,減少等待時間意味著更高效地利用處理器和內(nèi)存。
這樣一來,我們就會看到虛擬環(huán)境采用固態(tài)存儲和在服務(wù)器進(jìn)行I/O管理的趨勢。在這里,閃存緩存硬件和軟件的目的是消除數(shù)據(jù)遍歷網(wǎng)絡(luò)的需求,從而產(chǎn)生非常低的延遲值。
吞吐量:存儲系統(tǒng)傳輸固定的數(shù)據(jù)量所需要的時間,被稱為吞吐量和帶寬。通常情況下,吞吐量是以兆字節(jié)每秒(Mbps)或類似的單位進(jìn)行衡量的。
存儲陣列和磁盤設(shè)備可以作為測量吞吐量的兩個指標(biāo),用以測量持續(xù)的吞吐量和峰值吞吐量。持續(xù)吞吐量是在一段長時間內(nèi)測量設(shè)備或系統(tǒng)的恒定的數(shù)據(jù)吞吐能力。而峰值吞吐量表示一個系統(tǒng)可以在短時期內(nèi)所提供數(shù)據(jù)處理水平。
在VDI(虛擬桌面基礎(chǔ)設(shè)施)環(huán)境中,峰值吞吐量水平是非常重要的:當(dāng)很多用戶同時登錄到系統(tǒng),并在同一時間啟動虛擬機(jī),可以產(chǎn)生巨大的I/O需求,屆時,如果系統(tǒng)不能有效地管理,就會導(dǎo)致業(yè)績不佳和延遲上升。
當(dāng)在數(shù)據(jù)存儲之間管理虛擬機(jī)之間的動態(tài)數(shù)據(jù)存儲時,良好的吞吐量數(shù)據(jù)對于虛擬服務(wù)器環(huán)境的管理也是非常重要的。這時,能夠測量吞吐量和理解需求高峰對于虛擬環(huán)境是相當(dāng)關(guān)鍵的。
IOPS(每秒輸入輸出操作):IOPS是測量一個存儲系統(tǒng)每秒能夠執(zhí)行的個別讀/寫請求的數(shù)量。這個數(shù)字相當(dāng)重要的,但其與吞吐量又有微妙的不同。
在許多情況下,供應(yīng)商將使用IOPS作為衡量其產(chǎn)品的性能的指標(biāo),但這些數(shù)字需要同時考慮在每個操作過程中傳輸?shù)臄?shù)據(jù)塊的大小。
例如,許多小的(比如,4KB)處理需求要比大的(1MB)數(shù)據(jù)處理需求更容易。讀取也是一樣的,特別是隨機(jī)的,而不是連續(xù)的數(shù)據(jù)集,后者通常比寫入要花費(fèi)更多的時間。因此,IOPS需要對亟待處理的數(shù)據(jù)塊和操作的類型進(jìn)行判斷。
延遲性,吞吐量和IOPS之間的關(guān)系
延遲性、IOPS和吞吐量三者之間都是密切相關(guān)的。存儲系統(tǒng)在極低的I/O延遲條件下將能夠提供較高IOPS性能。在最基本的層面上,IOPS數(shù)能夠達(dá)到的僅僅是1/延遲時間,所以3毫秒(或1/0.003)的延遲等待時間轉(zhuǎn)化為333 IOPS.
一個能提供高IPOS數(shù)據(jù)塊的存儲系統(tǒng)可以提供高吞吐量,其值是IOPS值乘以I/O數(shù)目大小。
當(dāng)然,供應(yīng)商再進(jìn)行性能介紹時,往往報(bào)出非常高的數(shù)字,這是有理由的。存儲陣列能夠管理I/O并行或并發(fā)的工作負(fù)載,同時處理多個I/O操作。
并發(fā)是通過提供多個路徑到存儲系統(tǒng),使用系統(tǒng)存儲器作為高速緩存隊(duì)列來實(shí)現(xiàn)傳輸?shù)摹_@為我們帶來了一種新的測量方法:隊(duì)列深度,說明設(shè)備可以同時處理多少I/O請求。
一個單一的磁盤驅(qū)動器將有一個單或雙的數(shù)據(jù)隊(duì)列長度,而一個大型企業(yè)的陣列將提供一個隊(duì)列深度為每LUN幾十或幾百,每端口,或兩者的組合。
通過將多個請求進(jìn)行排隊(duì),存儲裝置可以優(yōu)化寫入處理,減少了一些存儲數(shù)據(jù)的物理延遲,這對于旋轉(zhuǎn)磁盤的硬盤驅(qū)動器特別有效,因?yàn)轭^部運(yùn)動可以顯著減少。
工作負(fù)荷配置文件和測量
識別和記錄指標(biāo)提供了了解存儲性能的原始數(shù)據(jù),但任何數(shù)據(jù)的上漲,均需要考慮I/O配置模式和相關(guān)的測量條款。這是因?yàn)樗袘?yīng)用程序會產(chǎn)生不同的負(fù)載需求。
這方面的一個例子:VDI和虛擬服務(wù)器的流量是高度隨機(jī)的,由于活動數(shù)據(jù)在整個數(shù)據(jù)存儲或卷上存儲虛擬硬盤上的隨機(jī)擴(kuò)散。VDI的數(shù)據(jù)大多通常是讀重的(80R/20W的百分比例或更高);這樣,低的讀取I/O延遲會帶來顯著的性能提升。
選擇其中的度量數(shù)據(jù)是如何被記錄也是非常重要的,以便能夠提供端到端的視圖,了解I/O性能。
在大型機(jī)的時代,一個單一的I/ O操作,可以從開始到結(jié)束進(jìn)行跟蹤,顯示整個過程中那一步發(fā)生了延遲。今天,I/O要復(fù)雜得多,其可以在存儲裝置內(nèi)和主機(jī)本身內(nèi)測量管理程序。
并沒有絕對正確或錯誤測量方法;每種方法都能夠給出該系統(tǒng)的操作透視圖。從陣列中獲得的值顯示如何處理外部存儲需求。例如,從主機(jī)獲得的值能夠顯示數(shù)據(jù)存儲如何影響單個客戶機(jī)的性能,同時,來自系統(tǒng)管理程序的值則顯示了存儲網(wǎng)絡(luò)的有效性。
兩種管理程序(vSphere ESXI和Hyper-V)的共同點(diǎn)在于允許通過移動工作負(fù)載來優(yōu)化存儲性能。例如vSphere的存儲DRS,依據(jù)歷史測量的I/ O延遲的基本數(shù)據(jù)給出虛擬機(jī)遷移的建議。同時,Hyper-V中的智能設(shè)置能夠?qū)崿F(xiàn)基于VM IOPS的計(jì)算。
我們所談?wù)摰拇蟛糠謹(jǐn)?shù)據(jù)信息均是基于技術(shù)的,但也有基于財(cái)務(wù)指標(biāo)的,這些數(shù)據(jù)在購買相關(guān)產(chǎn)品和設(shè)置數(shù)據(jù)存儲層時需要考慮。其中包括$/ GB,是衡量每單位容量的成本。但是,隨著閃存的引進(jìn),其$/ GB要比旋轉(zhuǎn)磁盤更高,當(dāng)考應(yīng)用程序的性能時,$/IOPS可以有更多有用的意義。
由于虛擬環(huán)境的隨機(jī)性,延遲是在監(jiān)測物理存儲資源狀況的關(guān)鍵指標(biāo)。延遲性是有相關(guān)性的,無論一個系統(tǒng)包含一個或上百臺虛擬機(jī)。
當(dāng)我們查看支持多臺VM的容量時,吞吐量發(fā)揮著重要的作用,因?yàn)閷?shí)現(xiàn)規(guī)?;瘮U(kuò)展虛擬環(huán)境需要具備相應(yīng)的吞吐量方面的能力。正如上文已經(jīng)討論過的,在管理需求的高峰期,可以是一個VDI環(huán)境方面的問題,需要考察其在峰值期間的讀寫負(fù)載能力。
從主機(jī)的角度來看,IOPS通常用作標(biāo)準(zhǔn)的度量,因?yàn)檫@提供了一個抽象的觀點(diǎn),即不依賴于底層的硬件功能。這被看作是衡量私人和云計(jì)算虛擬基礎(chǔ)架構(gòu)的措施。