Pomiar ogólnej prędkości dysku nie jest skomplikowany. Wystarczy kopia CrystalDiskMark, darmowa wersja HD Tune lub podobne oprogramowanie. Jednak są użytkownicy, którzy muszą oceniać swój sprzęt w bardziej specyficznych warunkach, z dobrze zdefiniowanymi obciążeniami. Wtedy wkracza FIO. Nie ma interfejsu, dokumentacja nie jest najlepsza na świecie, i niczego cię nie nauczy, ale jeśli jesteś jednym z tych użytkowników, potrzebujesz go.
Często krytykowanym punktem najpopularniejszych benchmarków jest ich syntetyczny profil. Z pewnego punktu widzenia używanie stałego, powtarzalnego i niezmiennego benchmarku jest przydatne, bo pozwala rozszerzyć ten sam „zestaw reguł” na wiele konfiguracji sprzętowych, ale czasem ta zaleta się rozpada. Na przykład to nie to samo, gdy dysk pracuje w systemie stacjonarnym, a gdy pracuje na serwerze z zupełnie innymi obciążeniami.
Oznacza to, że w programach takich jak CrystalDiskMark czy klasyczny HD Tune otrzymujemy w rzeczywistości „bardzo wyedukowane opinie” na temat wydajności dysku lub SSD, podczas gdy w tle mogą czekać wąskie gardła, błędy sterowników i inne problemy z konfiguracją, gotowe wszystko zepsuć. Jak je wykryć? Za pomocą superelastycznego, zaawansowanego benchmarku, który potrafi odtworzyć niemal każde obciążenie: FIO.
Dlaczego FIO nie jest bardziej popularne?
Odpowiedź jest prosta: to nie jest benchmark dla zwykłego użytkownika. Nie ma interfejsu graficznego ani asystenta, który wyjaśnia każdy parametr. Z FIO musisz dokładnie wiedzieć, co chcesz ocenić, i nie oczekiwać pomocy. FIO zachowuje się jak symulator / uniwersalne narzędzie, które oszczędziło swojemu twórcy bólu głowy związanego z tworzeniem indywidualnego benchmarku dla każdego obciążenia. Ale taka elastyczność odbija się w modyfikatorach potrzebnych do uruchomienia. Na przykład:
fio --name=random-write --ioengine=windowsaio --rw=randwrite --bs=4k --numjobs=1 --size=4g --iodepth=1 --runtime=60 --time_based --end_fsync=1
- „Name” to nazwa, jaką będzie nosić plik generowany podczas benchmarku.
- „IOEngine” określa sposób, w jaki FIO współdziała z systemem plików (w Windows jest to „windowsaio”, dla pozostałych „posixaio”).
- „--rw=randwrite” wskazuje, że chcemy przetestować losowe operacje zapisu.
- „--bs=4k” to rozmiar bloku, 4K, prawdziwe tortury dla wielu nośników danych.
- „--size=4g” ustawia rozmiar pliku, 4 gigabajty.
- „--numjobs=1” poleca utworzenie jednego pliku i jednego procesu w tym pliku.
- „--iodepth=1” to głębokość kolejki poleceń w systemie operacyjnym (co odpowiada jednej operacji na raz).
- „--runtime=60” to czas wykonania, 60 sekund.
- „--end_fsync=1” utrzymuje licznik aktywnym do czasu zakończenia wszystkich operacji.
Wynik końcowy pojawia się pod napisem „Run Status Group”: W moim przypadku FIO potrzebował 87,230 milisekund na zapisanie łącznie 6,307 „mebibajtów” (czyli baza 1024), co przekłada się na około 72,3 „mebibajta” na sekundę, czyli coś między niskim a normalnym wynikiem dla typowego SSD.
Chcesz wiedzieć więcej o FIO? Jeśli tak, ludzie z Ars Technica opublikowali znakomity przewodnik, ale rekomendacją numer jeden pozostaje oficjalna dokumentacja. Pamiętaj: FIO działa bardzo dobrze, ale nie uczy ani nie wyjaśnia. Aby go opanować, musisz ubrudzić sobie ręce.
Oficjalna strona i pobieranie: Kliknij tutaj
Źródło: Ars Technica