1
Hardware / Re:Počet pevných disků v RAID a IOPS
« kdy: 09. 01. 2013, 18:55:07 »...
IOPS jsou IO za sekundu!
Je jedno, jestli máš sekundová videa nebo 30-ti minutová, pro IOPS je relevantní jen to, kolik za vteřinu potřebuješ obloužit klientů.
Za sekundu z pole dostaneš hodnoty v řádech stovek IOPS.
Jestliže datový tok jednoho videa bude rovný právě velikosti načtené jednotky(blohu dat), pak se ti kbps bude rovnat počtu IOPS a současně počtu obsloužených klientů. Všimni si tam toho "PS" to je za sekundu.
Chápeš? 800 IOPS = získá 800 bloků TŘEBA (navolíš sám) po 128 kilobajtech = obslouží 800 klientů s datovým tokem videa 1MBIT v každou chvíli.
Hlavně tu nikoho evidentně netrápí jestli to je náhodné nebo sekvenční čtení. Když vezmu 15k disk tak ten udělá 250 seeků, tj. ~200 IOPS za vteřinu, ty s dobře udělaným NCQ/TCQ udělají >300 IOPS. Tj. pokud budu dokonale náhodně seekovat např. 4kB bloky tak udělám ~1MB/s. Jenomže ten samej disk udělá s přehledem přes 150 MB/s, což kdybych tupě přepočítával na 4kB IOPS je > 38000.
Pokud ta aplikace nebude úplně hloupě napsaná tak ta videa nebude načítat po maličkých blocích ale vždycky si načte pár MB dopředu. Navíc operační systémy dneska mají něco čemu se říká read-ahead (případně to umí i RAID řadiče), tj. na základě analýzy jednotlivých I/O requestů poznají že se vlastně daný soubor / část disku čte sekvenčně a přednačítají data. Takže s trochou snahy se výkon bude výrazně blížit tomu sekvenčnímu maximu (ale pokazit jde všechno ...).
Současně jsem tady nikde neviděl informaci o kolik dat se vlastně jedná - pokud je to srovnatelné s velikostí RAM tak se to celé nacachuje a je úplně jedno jestli jsou to spinners nebo SSD disky. A u tohohle typu dat je to většinou tak že pár položek je "hot" a ty jsou v paměti, no a drtivá většinu položek skoro nikoho nezajímá. Ty hot položky jsou ve výsledku v cache filesystému, to že se pomalé položky musí sosat z disku nikoho moc netrápí (je to malá zátěž) a systém se většinou škrtí na CPU.