IOPS ( forkortelse fra engelsk input/output operationer per second "antal input/output operations per second "; udtales som [ay-ops]) - antallet af input/output operationer udført af lagersystemet på et sekund . En af de parametre, der bruges til at sammenligne lagersystemer ( harddiske (HDD), solid state-drev (SSD), netværkslager SAN , NAS ) og evaluere deres ydeevne.
Det er i praksis ikke garanteret at opnå de IOPS-værdier, der er angivet i dokumentationen af udstyrsproducenterne [1] [2] , selvom du forsøger at reproducere testmiljøet og bruge den samme software til at måle IOPS .
IOPS målesoftware :
Hvis du ændrer enhedsindstillingerne flere gange og måler IOPS hver gang, kan du bestemme de indstillinger, ved hvilke enheden opnår maksimal ydeevne.
IOPS-værdien afhænger af mange parametre:
Før testen påbegyndes , er det nødvendigt at gøre dig bekendt med producentens anbefalinger for dens korrekte opførsel [6] .
Under testen udføres følgende operationer:
Dette tæller antallet af operationer, som enheden kan udføre på et sekund.
Når der tilgås data sekventielt, vælges blokstørrelsen normalt stor (f.eks. 128 KiB ). Med tilfældig adgang til data vælges blokstørrelsen normalt til at være lille (for eksempel 4 KiB ).
Parameter | Beskrivelse |
---|---|
Samlet IOPS | Samlet IOPS (både læse og skrive) |
Tilfældig læst IOPS | Gennemsnitlige tilfældige læsninger pr. sekund |
Tilfældig skrivning IOPS | Gennemsnitlige tilfældige skrivninger i sekundet |
Sekventiel læst IOPS | Gennemsnitlige lineære aflæsninger pr. sekund |
Seriel skrive IOPS | Gennemsnitlige lineære skrivninger per sekund |
IOPS-værdien afhænger af enhedens design. For harddiske og andre elektromekaniske enheder afhænger IOPS primært af hastigheden af den mekaniske del af enheden (på hovedpositioneringstiden ) ved adgang til data placeret i tilfældige blokke . For SSD'er og SSD-lignende enheder afhænger IOPS hovedsageligt af firmwarealgoritmerne ( udført af mikrocontrolleren ) og hastigheden af hukommelsesgrænsefladen. På begge typer enheder er antallet af IOPS for sekventiel dataadgang (med en stor blokstørrelse) maksimalt [1] .
Ved at kende IOPS og blokstørrelsen kan vi beregne operationshastigheden:
bytes_per_second = IOPS * blokstørrelse_i_bytes .Hastighed måles normalt i MB / s . Divider med 1.048.576 for at konvertere fra Bytes / s til M Bytes / s .
Ydeevnen på nogle harddiske kan forbedres, hvis:
For harddiske er IOPS for skrivning og IOPS for læsning omtrent det samme. De fleste NAND flash SSD'er har skrive IOPS meget mindre end læse IOPS. Dette skyldes, at hvis du forsøger at skrive til den samme blok igen, udløses skraldindsamling og skriver til en mindre brugt blok for at øge medielivet [7] [8] [9] .
IOPS af moderne SSD'er med flash-hukommelse er meget højere end IOPS af harddiske . Xssist testede en af disse SSD'er - Intel X25-E 64 GB G1 med følgende betingelser:
Testresultater [10] :
Selv efter et kraftigt fald i ydeevnen (ca. 50 minutter efter starten af testen) var IOPS-værdien meget højere end IOPS på harddisken .
Omtrentlige IOPS-værdier (random access) for harddiske [11] [12] .
enhed | type | IOPS | interface |
---|---|---|---|
7'200 rpm SATA - drev | HDD | ~75-100 IOPS | SATA 3Gb /s |
10.000 rpm SATA-drev | HDD | ~125-150 IOPS | SATA 3Gb/s |
10.000 rpm SAS - drev | HDD | ~140 IOPS | SAS |
15.000 rpm SAS-drev | HDD | ~175-210 IOPS | SAS |
Omtrentlig IOPS for SSD'er (ideelle forhold; korte ekspeditionstider). Hastigheden kan falde flere gange ved gentagne gentagelser af skriveoperationer til tilfældige blokke.
enhed | type | IOPS | interface |
---|---|---|---|
Intel X25-M G2 MLC | SSD | ~8'600 IOPS | SATA 3Gb/s |
OCZ Vertex 3 | SSD | ~60.000 IOPS (tilfældig 4K-optagelse) | SATA 6 Gb/s |
OCZ Vertex 3 MAX IOPS | SSD | ~75.000 IOPS (tilfældig 4K-optagelse) | SATA 6 Gb/s |
OCZ Vertex 4 | SSD | ~120.000 IOPS (tilfældig 4K-optagelse) | SATA 6 Gb/s |
OCZ RevoDrive 3 X2 | SSD | ~200.000 IOPS (tilfældig 4K-optagelse) | PCIe |
OCZ Z-Drive R4 CloudServ | SSD | ~500.000 IOPS | PCIe |
Intel Optane SSD 905P | SSD | ~555.000 IOPS | PCIe |
Everspin [da] nvNITROTM ES1GB-N03 | Opbevaringsaccelerator _ | ~1'460'000 IOPS | PCIe |