Hur Snabb Är Din AWS EBS Volymer?

0
159

Disk hastighet är en viktig del för att mäta en serverns prestanda. AWS har många olika typer av EBS volymer, och den använder en burst-hink modell—liknande T2 fall—för att avgöra dina skivan övergripande hastighet.

De flesta serverbelastningar förmodligen har någon form av minne-caching, så om du har gott om RAM-minne, din disk hastighet kanske inte betyder så mycket; när en fil är skrivskyddad kan den hålla i minnet en stund. Men för skriv-tung arbetsbelastning, disk hastighet börjar att bli den begränsande faktorn, och kan göra eller bryta din serverns prestanda.

IOPS och SSD Prestanda Förklarade

AWS listor och åtgärder SSD-hastighet med hjälp av Input-Output-Operationer Per Sekund (IOPS). Detta är till stor del bara ett mått på enhetens 4K Random läs-och skrivhastighet.

Ssd-enheter utför på olika sätt under olika arbetsbelastningar, så det är några sätt att mäta hur snabbt de är. Den första är Sekventiella Läs-och skrivhastighet, som mäter hur snabb de är på att läsa av en stor fil från disk. Hastighet spelar roll, särskilt när man arbetar med stora datamängder, men detta är det idealiska scenariot, och i den verkliga världen Ssd-enheter har oftast för att hämta data från flera platser på en gång.

RELATERAT: Hur för att Testa Din Linux-Server Disk och RAM-Hastighet

Ett bättre mått är slumpmässiga resultat. Detta riktmärke läser och skriver filer i 4096 byte-stora bitar till slumpmässiga platser, därav namnet “4K Random.” Det mer exakt efterliknar den verkliga världen belastning SSD kan möta.

Slumpmässiga riktmärken kan variera beroende på kön djup—ett mått på hur mycket SSD för närvarande har att behandla. När SSD är att vara ifrågasatt för en massa filer, kön djup kommer att vara hög, vilket snabbar upp prestanda. Men baslinjen resultat beräknas på kö djup 1, vilket verkar vara vad AWS åtgärder sina Ssd-enheter på.

IOPS är ett mått på hur många faktiska verksamheten sker. Formeln för att hitta IOPS från MB/s är:

IOPS = (Mbit / KB Per Drift) * 1024

Och eftersom vi läser 4 KB på en gång, formeln blir:

IOPS = Mbit / s * 256

Desktop SSD i skärmbilden ovan skulle vara över 13 000 IOPS, vilket är ganska bra för en 2 TB NVME SSD.

Burst-Hink Modell

Det viktigaste som gör AWS EBS volymer komplicerat brista prestanda. Detta fungerar mycket på samma sätt till hur T2/T3 fall fungerar—när skivan står stilla, det ackumuleras IO högskolepoäng på en kurs som bestäms av storleken på volymen.

Dessa krediter gå in i en “hink”, som samlar dem upp till maximalt 5,4 miljoner kronor, tillräckligt för att brista till full prestanda för 30 minuter. Hinken börjar full för att möjliggöra snabb bootstrapping av applikationer och start för fall.

Krediter är utarmade från hink upp prestanda. gp2 har en maximal prestanda på 3 000 IOPS, så är du bara kan rinna 3.000 per sekund.

Volymer tjäna IO poäng i en takt på 3 per GB per sekund. Det innebär att om du har en volym som är större än 1 TB, din hink kommer alltid vara full, och du behöver inte oroa dig för att brista prestanda. Något lägre än, och du är begränsad till baslinjen resultat baserat på hur många poäng du tjänar.

Om du behöver mer ihållande resultat, kan du hyra en större volym, eller använda en Sluten IOPS volym (vg1). Även om dessa är dyrare per GB, de gör det möjligt för dig att köpa IOPS direkt. Du kan köpa allt från 100 till 64,000 IOPS, i en takt av $0.065 per etablerats IOPS. Detta är egentligen bara kostnadseffektivt om du vill ha mer än 3 000 IOPS. För något som enligt det, kommer du att effektivt kunna betala dubbla priset för den volymen. Till exempel, om du behöver en 3 000 IOPS 64 GB volym, kan du helt enkelt en bestämmelse 1 TB gp2 volym för halva priset. Men, om du vill ha extra fart, kan du betala för det.

Hårddisk (st1 och sc1) Prestanda

AWS hårddisk-baserat EBS volymer också använda en burst-hink modell, men hårddiskar fungerar på ett lite annorlunda sätt än Ssd-enheter, så det är inte mätas i IOPS. Eftersom en hårddisk använder en roterande skiva huvud, läs och skriv hastigheter kommer att vara fast. Göra slumpmässiga läsningar och skrivningar kommer att sakta ner farten avsevärt (en av de största nackdelarna av hårddiskar). AWS använder sekventiell läs hastigheter här.

För st1, basen hastighet växer med 40 MiB/s per TB, med början på 20 för de minsta volym med en storlek på 500 GB.

Brast hastighet ökar med 250 MiB/s per TB, upp till maximalt 500 MiB/s. För volymer som är större än 12 TB, du kan brista till maximal hastighet på 100% av tiden. Något mindre, och du är begränsad av din brast kredit balans.

För sc1, basen hastighet växer med 12 MiB/s per TB, börjar vid 6 för de minsta volym med en storlek på 500 GB. Det gör det mycket långsammare, och det kommer aldrig att nå 100% brast kapacitet (men det är billigare).

Brast hastighet är också begränsad, och växer med 80 MiB/s per TB, upp till maximalt 250 MiB/s. Detta motsvarar cirka 8 000 IOPS, men detta är sannolikt den sekventiella hastighet, och du kommer inte att se slumpmässiga hastigheter denna hög av någon hårddisk.

Hur du Hittar Ditt Riktiga Världen Disk Hastighet

Du kan använda ett verktyg som dd för att mäta sekventiell skrivhastighet, detta innebär dock inte att stress skivan är nästan tillräckligt för att vara användbar, och är inte tecken på någon verkliga användningsfall.

För att få något bättre, måste du installera en disk benchmarking verktyg som kallas fio från din distribution har package manager:

sudo apt-get install fio

Kör sedan följande kommando:

fio –randrepeat=1 –ioengine=libaio –direkt=1 –gtod_reduce=1 –name=test –filename=random_read_write.fio –bs=4k –iodepth=64 –size=250 M –readwrite=randrw –rwmixread=80

Det kommer att skapa en 250 MB fil, och utföra slumpmässiga läsa och skriva tester på ett förhållande av 80% läser, 20% skriver, vilket ger dig en mycket mer exakt bild av hur din disk verkligen utför.

En snabb test med 25 MB fil visar förmån för AWS s burst hink modell. Den gp2 volym kan brista till en snabb hastighet för lite för att hantera överföring smidigt. Med en så liten storlek, SSD är att effektivt kunna brista tidigare är 3 000 IOPS gräns, men bara för en sekund.

Ett längre test med en 250 MB fil ger en bättre titt på hur den SSD kommer att utföra under större laster. I detta fall testet tar längre tid än en sekund, så hastigheten är begränsad av brast IOPS hastighet, kommer in på 2,600 IOPS.

Naturligtvis, om vi skulle låta detta test köra mer än 30 minuter, gp2 volym skulle köra ut av hp, och sakta ned till bara 24 IOPS för en 8 GB volym. Men du är sannolikt inte kommer att stöta på massor som kommer att använda 100% av din disk, och om du gör det, kan du alltid använda en större disk med garanterad prestanda, eller tillhandahållande IOPS direkt.