突發(fā)能力是指小容量云硬盤可以在一定時(shí)間內(nèi)達(dá)到IOPS突發(fā)上限,超過(guò)IOPS上限的能力。此處IOPS上限為單個(gè)云硬盤的性能。
突發(fā)能力適用于 云服務(wù)器 啟動(dòng)場(chǎng)景,一般系統(tǒng)盤容量較小,以50 GB的超高IO云硬盤為例,如果沒(méi)有突發(fā)能力,云硬盤IOPS上限只能達(dá)到4000(1500 + 50 × 50),但使用突發(fā)能力后,IOPS可高達(dá)16000,從而提升云服務(wù)器的啟動(dòng)速度。
以超高IO云硬盤為例,單個(gè)超高IO云硬盤的IOPS突發(fā)上限為16000。
容量為100 GB的云硬盤,其IOPS上限為6500,IOPS突發(fā)上限為16000,因此在一定時(shí)間內(nèi)該云硬盤的最大IOPS可達(dá)到16000。
容量為1000 GB的云硬盤,其IOPS上限為33000,但是IOPS突發(fā)上限僅為16000,云硬盤的IOPS上限已經(jīng)超過(guò)了突發(fā)IOPS,因此該云硬盤無(wú)需突發(fā)能力。
以下介紹云硬盤突發(fā)IOPS的消耗原理和儲(chǔ)蓄原理。
突發(fā)的實(shí)現(xiàn)基于令牌桶,令牌桶中的初始令牌數(shù)量 = 突發(fā)時(shí)間 × IOPS突發(fā)上限,此處突發(fā)時(shí)間固定為1800 s。
以100 GB的超高IO云硬盤為例,令牌桶容量為28800000個(gè)令牌(1800 s × 16000 )。
令牌的生成速度:該桶以6500個(gè)/s的速度生成令牌,其中6500為該云硬盤的IOPS上限。
令牌的消耗速度:根據(jù)實(shí)際IO使用情況而定,每個(gè)IO會(huì)消耗一個(gè)令牌,最大消耗速度為16000個(gè)/s,此處取突發(fā)IOPS上限和云硬盤IOPS上限的較大值。
消耗原理
當(dāng)令牌消耗速度大于令牌的生成速度時(shí),令牌數(shù)量會(huì)逐漸減少,最后IOPS會(huì)維持跟桶生成令牌的速度一致,即云硬盤的IOPS上限。本示例中,可以維持突發(fā)IOPS的時(shí)間為3032 s ≈ 28800000 / (16000 - 6500) 。
儲(chǔ)蓄原理
當(dāng)令牌的消耗速度小于令牌的生成速度時(shí),桶中的令牌會(huì)逐漸增加,之后又可以擁有突發(fā)能力。本示例中,如果云硬盤暫停使用4431 s ≈ 28800000 / 6500,令牌桶就可以存滿。(說(shuō)明: 桶中的令牌數(shù)量只要大于零,云硬盤就具有突發(fā)能力。)
本示例中令牌的消耗和儲(chǔ)蓄原理如 圖1所示。藍(lán)色柱狀表示云硬盤IOPS的使用情況,綠色虛線為IOPS上限,紅色虛線為IOPS突發(fā)上限,黑色曲線表示令牌數(shù)量的變化趨勢(shì)。
當(dāng)令牌數(shù)量大于零時(shí),IOPS可以突破6500,即具有達(dá)到IOPS突發(fā)上限16000的能力。
當(dāng)令牌數(shù)為零時(shí),此時(shí)不具備突發(fā)能力,IOPS最大為6500。
當(dāng)實(shí)際IOPS小于6500時(shí),令牌數(shù)量開(kāi)始增加,可以恢復(fù)突發(fā)能力。