Infrastruktúra

EBS gp3 vs io2: mikor kell tényleg a drágább lemez?

A legtöbb workloadnak a gp3 bőven elég, és olcsóbb. Az io2 prémiumját csak akkor fizeted meg, ha garantált IOPS-ra és tartós, magas terhelésre van szükséged.

Röviden: A legtöbb workloadnak a gp3 bőven elég, és olcsóbb. Az io2 prémiumját csak akkor fizeted meg, ha garantált IOPS-ra és tartós, magas terhelésre van szükséged.

A blokktároló kiválasztása az a döntés, amit sokan default beállításként meghoznak, aztán évekig nem néznek vissza rá. Pedig itt gyakran ott hever egy egyszerű megtakarítás vagy éppen egy rejtett teljesítménykorlát. A leggyakoribb kérdés: elég-e az általános célú gp3, vagy kell a drágább, magas teljesítményű io2? A rövid válasz: a legtöbb esetben a gp3 elég. A hosszú válasz árnyaltabb.

Mi változott a gp3-mal?

A gp3 abban hozott fordulatot, hogy a teljesítményt (IOPS és átviteli sebesség) leválasztotta a lemez méretéről. Korábban több teljesítményhez nagyobb — és feleslegesen drágább — lemezt kellett foglalni. A gp3-nál egy alap teljesítményszintet kapsz, és külön, igény szerint emelheted az IOPS-t és az átvitelt. Ez a legtöbb általános workloadnak — alkalmazásszerverek, közepes adatbázisok, konténerek — pont elég, kiszámítható áron.

Mikor kevés a gp3?

Három eset van, amikor tényleg felmerül az io2:

  1. Nagyon magas, tartós IOPS-igény — egy erősen terhelt tranzakciós adatbázis, ahol a lemez folyamatosan a plafonon van.
  2. Garantált, kiszámítható latencia — ahol a teljesítmény ingadozása önmagában probléma, nem csak az átlag.
  3. Kiemelt tartóssági követelmény — ahol az adat elvesztésének kockázatát a lehető legkisebbre kell szorítani, és ezt szerződés vagy compliance írja elő.

Ha egyik sem áll fenn, az io2 prémiumáért cserébe nem kapsz érdemi hasznot.

A döntés számokban

Szempontgp3io2
Tipikus workloadÁltalános célú, többségKritikus, IOPS-intenzív
TeljesítményKonfigurálható, jóLegmagasabb, garantált
Latencia stabilitásaKiemelkedő
KöltségAlacsonyabbMagasabb prémium
Mikor éri megAlapértelmezéskéntCsak indokolt esetben

A táblázat lényege: a gp3 legyen az alapértelmezés, és az io2 a bizonyítható igényre adott, tudatos válasz.

A mérés, ami eldönti

A lemezválasztást ne érzésre, hanem mérésre alapozd. Nézd meg a tényleges IOPS- és átviteli kihasználtságot egy reprezentatív időszakon, és figyeld, milyen gyakran ütközöl a jelenlegi limitbe. Ha ritkán vagy sosem, akkor bőven van hely lefelé is — talán túl van méretezve a jelenlegi tárolód. Ha folyamatosan a plafonon vagy, akkor előbb próbáld a gp3 IOPS-emelését, és csak ha az sem elég, lépj io2-re.

A gyakori túlköltés

Tapasztalat szerint a blokktárolónál a leggyakoribb hiba nem az alulméretezés, hanem a túlméretezés: régről örökölt, magas teljesítményű lemezek, amiket senki nem méretezett vissza, pedig a rájuk épülő workload rég megváltozott. Egy rendszeres felülvizsgálat itt kockázatmentes megtakarítást hoz — a tárolót lefelé méretezni sokkal ritkábban jár következménnyel, mint gondolnánk.

A snapshot- és mentési stratégia

A blokktároló költsége nem ér véget a lemezeknél: a pillanatképek (snapshotok) csendben halmozódnak. Minden mentés helyet foglal, és a régi, feleslegessé vált snapshotok idővel jelentős tételt adhatnak. Érdemes automatikus életciklus-szabályt beállítani: hány mentést tartasz meg, meddig, és mikor törlődnek a régiek. A compliance által előírt megőrzésen túl a felesleges snapshot csak költség.

A snapshotok emellett inkrementálisak, ami félrevezető lehet: egy snapshot törlése nem feltétlenül szabadít fel annyi helyet, mint gondolnád, mert a többi snapshot még hivatkozhat az adatblokkokra. Ezt érdemes érteni, mielőtt a tisztításból várt megtakarítást beígéred.

A teljesítmény és a lemezméret kapcsolata

A gp3-nál a teljesítmény független a mérettől, de van egy fontos árnyalat: a nagyon nagy átviteli igényhez a lemez alapszintje kevés lehet, és külön kell emelni. Mérd meg, hogy a workloadod IOPS- vagy átvitel-korlátos-e, mert a kettőt külön kell hangolni. Egy adatbázis jellemzően IOPS-igényes, egy nagy szekvenciális feldolgozás inkább átvitel-igényes.

A monitorozás beállítása

A helyes lemezdöntéshez folyamatos monitorozás kell: a lemez kihasználtsága, a várakozási idő, az IOPS- és átvitel-telítettség. Ezek nélkül csak sejtésre alapozol. Állíts be riasztást a tartós telítettségre, hogy időben tudj emelni, mielőtt a felhasználó érzi a lassulást — és rendszeresen nézd meg a másik irányt is: a tartósan alacsony kihasználtságú, túlméretezett lemezeket, ahol lefelé méretezhetsz.

Mit jelent ez neked?

Tegyél a gp3-ra alapértelmezésként, és emeld rajta az IOPS-t, ha kell — ez a legtöbb workloadnak elég és olcsóbb. Az io2 prémiumát csak akkor fizesd meg, ha garantált, tartósan magas teljesítményre vagy kiemelt tartósságra van bizonyítható igényed. És legalább félévente nézd át a meglévő lemezeket: a túlméretezett tároló csendben viszi a pénzt anélkül, hogy bárki hasznát látná.