在計(jì)算機(jī)網(wǎng)絡(luò)中,延遲時(shí)間(latency)是表示從特定點(diǎn)得到一個(gè)數(shù)據(jù)包(packet)所花的時(shí)間。在計(jì)算機(jī)行業(yè)中,我們會(huì)通過(guò)多種方式來(lái)衡量性能,其中延遲時(shí)間被視為存儲(chǔ)中最重要的指標(biāo)。
每秒輸入/輸出操作(IOPS)或吞吐量(帶寬)之類的測(cè)量。所有這些術(shù)語(yǔ)都與正確的設(shè)置相關(guān),但是這里想要強(qiáng)調(diào)最關(guān)鍵的任務(wù)指標(biāo)是“延遲”。舉例說(shuō)明,開(kāi)車(chē)上下班經(jīng)過(guò)的行車(chē)公路,就具有一定的特性。比如行車(chē)公路上有多個(gè)車(chē)道,類似于帶寬,并且每小時(shí)的車(chē)輛總數(shù)具有一定的容量,這類似于IOPS。問(wèn)題是,即使你知道這兩個(gè)值,你也無(wú)法回答最重要的問(wèn)題:上班需要多長(zhǎng)時(shí)間?大多數(shù)應(yīng)用程序創(chuàng)建并使用少量數(shù)據(jù)。例如,當(dāng)用戶進(jìn)行信用卡交易時(shí)需要進(jìn)行一些操作,該程序必須驗(yàn)證消費(fèi)者的身份,執(zhí)行安全檢查,驗(yàn)證交易并記錄相應(yīng)帳戶上的借方和貸方條目。雖然您確實(shí)需要足夠的帶寬和容量來(lái)處理事務(wù),但最關(guān)鍵的指標(biāo)是延遲,即完成事務(wù)所需的時(shí)間。
“價(jià)值指標(biāo)”的核心是事務(wù)延遲,對(duì)于延遲,自然是越快越好。就像上述提到的舉例,如果在沒(méi)有車(chē)輛的行車(chē)公路上行駛,增加車(chē)道數(shù)不會(huì)減少上班消耗的時(shí)間;同樣的,如果公路不擁擠,增加公路可以處理的汽車(chē)數(shù)量,對(duì)性能并沒(méi)有任何影響。關(guān)于存儲(chǔ),我們面臨著一個(gè)獨(dú)特的挑戰(zhàn)。性能的主要因素是讀取或?qū)懭霐?shù)據(jù)的速度,當(dāng)磁盤(pán)驅(qū)動(dòng)器是主要存儲(chǔ)介質(zhì)時(shí),時(shí)間是以毫秒為單位進(jìn)行測(cè)量。
隨著flashmemory(閃存)的發(fā)展,延遲已進(jìn)入到微秒級(jí)范疇,這為計(jì)算環(huán)境提供了很大的價(jià)值,重點(diǎn)注意的是,單個(gè)flash存儲(chǔ)系統(tǒng)的實(shí)際性能可能相差10倍!因此,當(dāng)評(píng)估存儲(chǔ)系統(tǒng)的性能時(shí),要理解的關(guān)鍵指標(biāo)是“最大延遲保證”。盡管閃存陣列對(duì)應(yīng)用程序的實(shí)際性能和總成本有重大影響,但很少有閃存陣列能夠保持持續(xù)的低延遲。
經(jīng)常會(huì)發(fā)現(xiàn)供應(yīng)商指定了他們系統(tǒng)的平均延遲。根據(jù)多年使用存儲(chǔ)平臺(tái)的經(jīng)驗(yàn),特定事務(wù)的實(shí)際延遲值可能與給定的平均值相差很大。再次回到之前提到的舉例,要求到達(dá)公司的時(shí)間為早上9點(diǎn),如果只是知道從出發(fā)地點(diǎn)到公司的平均時(shí)間并不會(huì)有多大幫助,需要知道的是最壞情況下花費(fèi)的時(shí)間,只有知道這個(gè)數(shù)值才能確保準(zhǔn)時(shí)到達(dá)公司。評(píng)估幾乎所有基于事務(wù)的計(jì)算工作負(fù)載的總體性能時(shí),存儲(chǔ)延遲是最關(guān)鍵的因素。除了在事務(wù)處理較快時(shí)為用戶提供更多價(jià)值之外,降低延遲對(duì)整個(gè)系統(tǒng)的成本也有重大影響。當(dāng)數(shù)據(jù)庫(kù)讀取數(shù)據(jù)時(shí),其他什么也做不了,通常只能等待它獲得所需數(shù)據(jù),這種等待就像是汽車(chē)在紅燈時(shí)發(fā)動(dòng)機(jī)還在不停的運(yùn)轉(zhuǎn)著,哪里也去不了但汽車(chē)仍在消耗資源。更低的延遲意味著減少等待時(shí)間,并使一組給定的計(jì)算資源能夠提高生產(chǎn)力。
(原標(biāo)題:為什么延遲是存儲(chǔ)中最重要的指標(biāo))