Kapacita disku, výkon disku, IOPS

Mnoho našich zákazníků se nás ptá, co je to vlastně ten IOPS a jak má jejich IT s touto hodnotou pracovat. Níže jsme Vám připravili článek, který vysvětluje, jak to vlastně s těmi disky je a jak IOPSy vypočítat.

 

V moderním IT není jedinou hodnotou, která reprezentuje disk jeho kapacita. Ty v dnešním světě nejsou problematické. Výrobci vyrábějí disky s kapacitou 4TB na jeden disk. Mnohem větším problémem je výkon disků. Respektive, ani to vlastně ten základní problém není – takže ještě jednou, základní problém je výkon disku versus jeho cena.

Každý disk je reprezentován hned několika údaji, které nám sděluje výrobce. Jednou z těchto hodnot je, zda se jedná o SATA disk nebo SAS disk (dříve se ještě používali PATA disky, SCSI disky). Ve skutečnosti tato hodnota není ve většině případů limitním faktorem rychlosti disku. Další hodnota, kterou výrobce uvádí jsou otáčky. Ty výkon disku ovlivňují a obecně se dá říci, že čím více otáček disk má, tím větší bude jeho výkon – ale důležité je říci si, jak tento výkon spočítat.

 

Jak spočítat výkon disku?

Pojem IOPS (input / output operations per second) nám vysvětluje, kolik čtecích a zápisových operací je disk schopen provést. Zjednodušeně nám tedy hodnota IOPS říká, jaký je vlastně výkon disku. Pro výpočet budeme pracovat pouze se čtecími IOPS, zápisové si vysvětlíme později. Celková hodnota IOPS nám tedy udává, kolik čtecích operací je schopen disk provést za jednu sekundu. Pokud bude mít disk výkon 180 IOPS, pak můžeme z disku za jednu sekundu načíst 180 bloků dat.

Pro výpočet IOPSů nám pomohou další tři hodnoty disku, které můžeme vyčíst přímo od výrobce. Těmi jsou:

  • Average latency
  • Average seek time - write
  • Average seek time - read

 

Například disk Western Digital VelociRaptor 2.5" SATA hard drive má tyto hodnoty:

  • Average latency: 3ms (0,003 sekund)
  • Average seek time - write: 4,7 ms (0,0047 sekund)
  • Average seek time - read: 4,2 ms (0,0042 sekund)
  • Average seek time: 0,0045 sekund ((write + read) / 2)

 

Výpočet pak probíhá následujícím způsobem:

IOPS = 1 / (Average latency + Average seek time)
IOPS = 1 / (0,003 + 0,0045)
IOPS = 133,33

Tento disk má tedy výkon cca 133 IOPS, což znamená, že z něj můžeme vyčíst 133 datových bloků za sekundu.

 

Výkon diskového pole

Pokud máme k dispozici diskové pole skládající se z několika disků, pak se jejich výkon rovná násobku počtu všech použitých disků bez ohledu na RAID. Do počtu disků se nezapočítává pouze SPARE disk.

10 disků x 133 IOPS = 1330 IOPS

Výkon diskového pole tak je 1330 čtecích IOPSů.

 

Jak je to se zápisem na diskové pole

V případě zápisu na diskové pole se projevuje tzv. RAID penalty neboli penalizace podle typu RAIDu. V případě, že na svém diskovém poli využíváte některý z těchto typů raidů, pak je nutné počítat s penalizací při zápisu.

  • RAID 1 = 2
  • RAID 10 = 2
  • RAID 5 = 4
  • RAID 6 = 6

 

V případě, že zapisujeme na diskové pole, které používá RAID 5, je potřeba započítat RAID penalty následujícím způsobem:

1330 IOPS / 4 (RAID penalty) = 332 IOPS

V tomto případě tedy mohu provést 1330 čtecích operací, nebo pouze 332 zápisových operací.

 

Jak je možné dále ovlivnit výkon disků

Počty IOPSů je možné do určité míry ovlivnit na straně aplikační (uživatelské). Výše uvedené hodnoty platí pouze v ideálních případech. A to za předpokladu, že dochází k sekvenčnímu zápisu na disk s velikostí datového bloku 8KB. V případech, kdy dochází k náhodnému zápisu nebo jsou datové bloky větší než 8KB, klesá i počet IOPSů disku. Na druhou stranu s vyššími datovými bloky se však zvyšuje bandwidth.

Volbu toho, zda bude docházet k sekvenčnímu zápisu nebo náhodnému a jak velké budou datové bloky je do jisté míry schopen ovlivnit sám uživatel či aplikace. Proto je potřeba si tyto hodnoty dobře pohlídat, aby výkon diskového pole byl co možná nejvyšší.

 

Jak pronajímají datové pole poskytovatelé cloudu

Jsou dva možné přístupy, jak pracovat s požadavkem na výkon disků od zákazníka.

Buď zákazník nevyžaduje žádný konkrétní výkon a požaduje pouze velikost diskového prostoru. Pak je na uvážení poskytovatele cloudu, jak výkonná data budou pro zákazníka nejvhodnější. Poskytovatel tedy posoudí, jaké aplikace bude zákazník na svém cloud serveru provozovat a doporučí vhodný výkon disků pro zákazníka. Tradičně to probíhá tak, že operátor má k dispozici diskové pole osazené různě výkonnými disky a ty jsou obchodně rozděleny na pomalá data, středně rychlá dat, rychlá data (nebo například bronze, silver, gold). Vhodným umístěním zákazníka na určitý typ disků se zákazníkovi dostává patřičného výkonu (IOPSů).

Druhá varianta je v případě, kdy zákazník přesně ví, jak rychlá data potřebuje. V takovém případě poskytovatel vyhradí zákazníkovi IOPSy bez ohledu na to, jak velký diskový prostor zákazník poptává. Může se tak stát, že zákazník poptává například 50GB prostoru, ale potřebuje k tomu 10.000 IOPSů. V takovém případě dochází k využití výkonu cca 60ti disků pro uspokojení diskového prostoru 50GB (i přesto, že celková kapacita disků tak může být například 60 x 300GB = cca 18TB).

V takovém případě je opět na poskytovateli, aby případně doporučil zákazníkovi využití nikoli „točících“ disků, ale namísto toho využití SSD disků, které mají podstatně vyšší výkon než disky klasické.

Moderní disková pole nabízejí možnost výkon disků kombinovat. Ideální kombinace může být například použití disků s vysokou kapacitou prostoru, kdy část dat je urychlena pomocí SSD disků. Ve většině případů totiž platí, že zákazníci potřebují pouze 5% dat rychlých a 95% dat pomalých. Proto má smysl pomalá data uložit na pomalé disky a rychlá data na SSD disky. Zákazník se však o toto rozdělení nemusí starat, vše zajistí plně automaticky diskové pole.

Vhodnou kombinací disků se dají ušetřit desítky tisíc Kč za měsíc. Proto si zvolte takového poskytovatele cloudových služeb, který Vám s rozložením diskového výkonu a diskového prostoru poradí.

 

To podstatné jsou finance

Jak již bylo naznačeno výše, jediný důvod, proč se řeší výkon disků jsou finance. Velkokapacitní disky, schopné poskytnout až 4TB prostoru mají totiž absolutně nejnižší výkon. Naopak disky s extrémně malou kapacitou mají velmi vysoký výkon. Proto jde proti sobě požadavek zákazníka, aby mu bylo poskytnuto velké množství dat s velkým výkonem. Respektive, všechno jde, ale je potřeba počítat s vyšší cenou. Například SSD disky, které mají absolutně nejvyšší výkon, mají kapacity dosahující pouze (k dnešnímu dni) 800GB diskového prostoru. Jejich cena ve srovnání s 4TB diskem je však cca 60x vyšší. Ano, čtete správně, za 5x nižší kapacitu zaplatíte při nákupu jednoho takového disku asi 60x vyšší cenu. Na druhou stranu výkon 4TB disku je asi 80 IOPSů a výkon 800GB SSD disku je řádově v desítkách tisíc IOPSů. Vše v závislosti na výrobci.

Důležitá informace je, že všechny zde prováděné výpočty a hodnoty jsou myšleny pro HI-END disky určené do moderních diskových polí (EMC, Netapp, HP 3PAR, ...). Je pravděpodobné, že disky určené pro domácí použití budou mít hodnoty horší – za to nižší ceny :)