Schijf snelheid is een belangrijk onderdeel van het meten van een server performance. AWS heeft veel verschillende soorten EBS volumes, en het maakt gebruik van een burst-emmer model—vergelijkbaar met T2 gevallen—voor het bepalen van uw schijf algehele snelheid.
De meeste server workloads waarschijnlijk een vorm van geheugen-cache, dus als je voldoende RAM-geheugen, uw schijf snelheid misschien niet zoveel uit; zodra een bestand wordt gelezen, kan het verblijf in het geheugen voor een tijdje. Maar voor schrijven-een zware werkbelasting, schijf snelheid begint te worden de beperkende factor zijn en kan maken of breken uw server performance.
IOPS en SSD-Prestaties Uitgelegd
AWS lijsten en maatregelen SSD snelheid met behulp van Input-Output-Bewerkingen Per Seconde (IOPS). Dit is grotendeels gewoon een maatregel van het apparaat met de 4K Random lees-en schrijfsnelheid.
Ssd ‘ s presteren verschillend onder verschillende workloads, dus er zijn een paar manieren om te meten hoe snel ze zijn. De eerste is de Sequentiële Lees-en schrijfsnelheid, die meet hoe snel ze bij het lezen van een groot bestand van de schijf. Snelheid is belangrijk, vooral bij het werken met grote hoeveelheden gegevens, maar dit is het ideale scenario, en in de echte wereld Ssd ‘ s hebben meestal te trekken van gegevens van meerdere locaties tegelijk.
GERELATEERD: Hoe om te Testen Uw Linux-Server van de Schijf en het RAM-geheugen Snelheid
Een betere gegeven is willekeurig prestaties. Deze benchmark leest en schrijft bestanden in 4096 byte-en kleinbedrijf brokken naar willekeurige locaties, vandaar de naam “4K Random”. Het meer nauwkeurig bootst de echte wereld plaats het SSD-geconfronteerd kan worden.
Willekeurige benchmarks kunnen variëren, afhankelijk van de queue—depth, een maat voor de mate waarin de SSD heeft op dit moment te verwerken. Wanneer de SSD wordt gevraagd voor een aantal bestanden in de wachtrij diepte zal hoog zijn, dat versnelt de prestaties. Maar de baseline performance is gemeten op een queue depth 1, die lijkt te zijn wat AWS maatregelen hun Ssd ‘ s op.
IOPS zijn een maatstaf voor het aantal feitelijke activiteiten plaatsvinden. De formule voor het vinden van de IOP ‘ s van MB/s is:
IOPS = (MBps / KB Per Bedrijf) * 1024
En omdat we het lezen van 4 KB per keer, de formule wordt dan:
IOPS = MBps * 256
De desktop SSD ‘ s in de bovenstaande screenshot zou worden meer dan 13.000 IOPS, wat is redelijk goed voor een 2 TB NVME SSD.
De Burst-Emmer Model
Het belangrijkste ding dat maakt AWS EBS volumes ingewikkeld is burst performance. Dit werkt eigenlijk net als hoe T2/T3 exemplaren werk—als de schijf zit idle, het stapelt zich op IO credits bij een tarief bepaald door de grootte van het volume.
Deze credits gaan naar een “emmer”, die verzamelt hen tot een maximum van 5,4 miljoen euro, genoeg te barsten om met volledige prestaties voor 30 minuten. De emmer begint vol om snel te bootstrappen van toepassingen en opstarten voor exemplaren.
Credits zijn uitgeput van de emmer te gebruiken prestaties. gp2 heeft een maximale prestatie van 3.000 IOPS, zodat je alleen staat voor de afvoer van 3.000 per seconde.
Volumes verdienen IO credits in een tempo van 3 per GB per seconde. Wat betekent dat als u een volume groter is dan 1 TB, uw emmer altijd vol is, en je geen zorgen hoeft te maken over burst performance. Iets lager dan dat, en je bent beperkt tot de basislijn van prestaties op basis van hoeveel credits je verdient.
Als u behoefte aan meer duurzame prestaties, kunt u het huren van een groter volume, of gebruik een Permanent IOPS volume (io1). Hoewel deze zijn duurder per GB, ze stellen u in te kopen IOPS direct. U kunt de aankoop van ergens tussen de 100 64.000 IOPS, tegen een tarief van $0.065 per aangebrachte IOPS. Dit is pas echt rendabel als u wilt meer dan 3 000 IOPS. Voor alles wat onder die je zult daadwerkelijk moeten betalen het dubbele van de prijs voor het volume. Bijvoorbeeld, als je een 3.000 IOPS 64 GB volume, je kan gewoon bepaling een 1 TB gp2 volume voor de helft van de prijs. Maar, als u wilt dat de extra snelheid, u kunt betalen voor het.
Harde Schijf (st1 en sc1) Prestaties
AWS is de harde schijf-gebaseerde EBS volumes ook gebruik maken van een burst-emmer-model, maar de harde schijven werken een beetje anders dan Ssd ‘ s, dus het is niet gemeten in IOPS. Omdat een harde schijf maakt gebruik van een draaiende schijf hoofd, de lees-en schrijfsnelheden, zullen worden verholpen. Doen van willekeurige leest en schrijft zal langzaam deze aanzienlijk omlaag (een van de belangrijkste nadelen van harde schijven). AWS maakt gebruik van sequentiële leessnelheid van hier.
Voor st1, de basis van de snelheid groeit met 40 Mb/s per TB, vanaf 20 voor de minimale grootte van het volume van 500 GB.
Burst snelheid groeit met 250 MiB/s per TB, tot een maximum van 500 Mb/s. Voor volumes die groter zijn dan 12 TB, bent u in staat uit te barsten van de maximumsnelheid 100% van de tijd. Alles wat minder is, en je bent beperkt door uw burst-tegoed.
Voor sc1, de basis van de snelheid groeit met 12 MiB/s per TB, vanaf 6 voor de minimale grootte van het volume van 500 GB. Het maakt het veel langzamer, en het zal nooit 100% bereiken piekcapaciteit (maar het is goedkoper).
Burst snelheid is ook beperkt, en groeit met 80 Mb/s per TB, tot een maximum van 250 MiB/s. Dit staat gelijk aan ongeveer 8.000 IOPS, maar nogmaals, dit is waarschijnlijk de sequentiële snelheid, en zie je niet willekeurige deze hoge snelheden van de harde schijf.
Hoe Vindt u de Real-World Schijf Snelheid
U kan gebruik maken van een hulpmiddel zoals dd te meten sequentiële schrijfsnelheid, echter, dit betekent niet benadrukken de schijf bijna genoeg om nuttig te zijn, en is niet indicatief voor een real-use case.
Om iets beter, moet u de installatie van een schijf benchmarking tool genaamd fio van uw distro ‘ s package manager:
sudo apt-get install fio
Vervolgens start het met de volgende commando:
fio –randrepeat=1 –ioengine=libaio –rechtstreekse=1 –gtod_reduce=1 –name=test –filename=random_read_write.fio –bs=4k –iodepth=64 –size=250M –readwrite=randrw –rwmixread=80
Het maken van een 250 MB bestand, en het uitvoeren van random lezen en schrijven van tests in een verhouding van 80% leest, 20% schrijft, geeft u een veel meer nauwkeurige weergave van hoe uw schijf ook echt uitvoert.
Een snelle test met een 25 MB bestand toont het voordeel van de AWS is gebarsten emmer model. De gp2 volume is in staat uit te barsten om een hoge snelheid voor een beetje aan het verwerken van de overdracht soepel. Met een kleine omvang, de SSD is in staat om effectief te barsten in het verleden de 3.000 IOPS beperken, maar alleen voor een tweede.
Een langere test met een 250 MB bestand geeft een betere kijk op hoe de SSD zal uitvoeren onder grotere ladingen. In dit geval, de test duurt langer dan een seconde ingedrukt, zodat de snelheid wordt beperkt door de burst IOPS snelheid, komen op 2,600 IOPS.
Natuurlijk, als we dit laten testen uitvoeren voor meer dan 30 minuten, de gp2 volume zou verlopen, en langzaam omlaag tot slechts 24 IOPS voor een 8 GB volume. Maar u bent waarschijnlijk niet gaat tegenkomen belasting die zal worden met behulp van 100% van uw schijf, en als u dat doet, kunt u altijd gebruik maken van een grotere schijf met gegarandeerde prestaties, of de bepaling IOPS direct.