Potrzebujemy do tego informacji, które są jawnie publikowane przez producentów: RPM dysku (ilość obrotów na minutę) oraz średniego czasu przesunięcia/pozycjonowania głowicy (seek time). Weźmy dysk Seagate Cheetah 15k.6 - 15000 RPM, 3,65 ms średni seek time. Liczymy ile trwa pół obrotu dysku (o tyle bowiem średnio dysk musi się zakręcić, aby dotrzeć do wskazanego sektora z danymi):
1/(15000/60)/2 = 2ms
Dodajemy do tego średni seek time (jest to wartość średnia bowiem seek time jest różny zależnie od tego czy operacją jest odczyt, czy też zapis):
2 ms + 3,65 ms = 5,65 ms
W ten sposób uzyskujemy czas jaki średnio potrzebuje dysk na obsługę jednej losowej operacji i/o. Teraz wystarczy tylko wyliczyć ile takich operacji jest w stanie wykonać w ciągu sekundy i mamy nasze średnie IOPS dla operacji losowych:
1/5,65 ms =~ 174 IOPS
Niska wartość tego parametru wynika z opóźnień mechanicznych elementów dysku - ruch głowicy i obroty dysku. I to właśnie jest największą wadą dysków twardych. Nie można jej wyeliminować. Co więcej nie ma pomysłu jak w dysku zmniejszyć opóźnienia mechaniczne. Bez tego ilość IOPS, wartość mająca zasadnicze znaczenia dla wydajności HDD, nie wzrośnie.
Poniżej przykład kilka dysków z wyliczonym IOPS i wielkości transferów w kB dla różnych wielkości bloku.
Wcześniej do przykładów brałem dyski Hitachi. Okazało się jednak, że ta firma cwanie publikuje tylko seek time dla operacji odczytu - krótszy niż dla zapisu.
Brak komentarzy:
Prześlij komentarz