W Mówiliśmy o narzędziach z otwartym kodem źródłowym do oceny wydajności procesorów i pamięci. Dziś omawiamy benchmarki dla systemów plików i systemów przechowywania danych na Linuxie — Interbench, Fio, Hdparm, S oraz Bonnie.
Zdjęcie — Czym tak naprawdę jest problem
Fio (skrót od Flexible I/O Tester) generuje strumienie wejścia/wyjścia z dysku, aby ocenić wydajność systemu plików Linux. Narzędzie można uruchomić również na Windows — należy zainstalować interfejs wiersza poleceń. Instrukcja konfiguracji znajduje się w .
Autorem fio jest Jens Axboe (), za podsystem IO w Linuxie i twórca narzędzia do śledzenia operacji wejścia/wyjścia. Stworzył fio, ręcznego pisania programów do testowania specyficznych obciążeń.
Narzędzie obliczy IOPS i przepustowość systemu, a także pozwoli ocenić głębokość kolejki operacji wejścia/wyjścia. Użytkownik pracuje z specjalnymi plikami (rozszerzenie .fio), w których definiuje ustawienia i warunki testu. Opcji testów jest kilka, na przykład istnieją losowe zapisy, odczyty i nadpisania. Oto zawartość pliku dla pierwszego przypadku:
[global]
name=fio-rand-read
filename=fio-rand-read
rw=randread
bs=4K
direct=0
numjobs=1
time_based=1
runtime=900
Dziś fio jest używane przez duże firmy — narzędzie działa w , i .
Narzędzie stworzył kanadyjski programista Mark Lord w 2005 roku. Do dziś i jest częścią wielu popularnych dystrybucji. Główne zastosowanie hdparm — konfiguracja parametrów urządzeń magazynujących. Ale narzędzie można używać do przeprowadzania prostych benchmarków, na przykład mierzenia prędkości odczytu. W tym celu należy wpisać w konsoli polecenie:
$ sudo hdparm -t /dev/sdbSystem wygeneruje podobną odpowiedź:
Czas odczytu z buforowanej pamięci dysku: 242 MB w 3.01 sekundy = 80.30 MB/s.Jeśli chodzi o konfigurację urządzeń, hdparm pozwala zmieniać objętość pamięci podręcznej, modyfikować parametry trybu uśpienia i zasilania oraz bezpiecznie usuwać dane na SSD. Jednak, jak zauważają specjaliści z ArchLinux, nieostrożna zmiana parametrów systemowych może sprawić, że dane na dysku będą niedostępne, a nawet uszkodzić urządzenie. Przed pracą z hdparm lepiej zapoznać się z podręcznikiem — wystarczy wpisać w konsoli polecenie man hdparm.
To jest zestaw benchmarków do oceny wydajności systemów wejścia/wyjścia. Autorami narzędzia jest z grupy AlgoDev, do której należą pracownicy włoskiego .
Wszystkie benchmarki to skrypty bashowe, wydajność systemu przechowywania danych — przepustowość, opóźnienia, działanie planistów. Na przykład, benchmark throughput-sync.sh „nawala” na macierz dyskową zapytania do odczytu lub zapisu (w tym przypadku używa się już wspomnianego narzędzia fio). Oto .
Inny skrypt — comm_startup_lat.sh — mierzy opóźnienie odczytu danych z dysku przy „zimnym buforze” (gdy nie ma w nim wymaganych danych). Kod również .

Zdjęcie — Czym tak naprawdę jest problem
Narzędzie do oceny wydajności systemu plików, opracowane w 1989 roku. Jego autorem był inżynier Tim Bray. Dzięki Bonnie planował pracę systemów obliczeniowych zaangażowanych w projekt na Uniwersytecie Waterloo.
Bonnie losowe odczyty i zapisy danych na dysk. Następnie narzędzie pokazuje takie parametry jak liczba przetworzonych bajtów na a także poziom obciążenia procesora w procentach. Źródłowy kod benchmarku można .
Na podstawie Bonnie powstał inny zestaw narzędzi do testowania dysku twardego — (napisany w C++, zamiast w C). Zawiera dodatkowe narzędzia benchmarkowe. Na przykład, zcav do oceny wydajności różnych stref HDD. Również Bonnie++ do testowania serwerów pocztowych i baz danych.
Narzędzie opracował australijski anestezjolog, który jest znany ze swojego wkładu w rozwój jądra Linux oraz pracy nad „Interbench pomaga dostosować parametry planisty wejścia/wyjścia i systemu plików.
Interbench emuluje zachowanie planisty CPU przy wykonywaniu zadań interaktywnych. Takimi zadaniami interaktywnymi mogą być prace ze dźwiękiem i wideo, uruchamianie gier komputerowych lub proste przeciąganie okna dialogowego w systemie operacyjnym.
Źródłowy kod, przykłady i zalecenia dotyczące konfiguracji narzędzia można znaleźć w .
O czym piszemy w naszych blogach:
![]()
![]()
![]()
![]()
![]()
![]()
Źródło: habr.com
