ProHoster > Blog > administracja > Jak ocenić wydajność pamięci masowej w systemie Linux: testy porównawcze przy użyciu otwartych narzędzi
Jak ocenić wydajność pamięci masowej w systemie Linux: testy porównawcze przy użyciu otwartych narzędzi
В ostatni raz rozmawialiśmy o narzędziach open source do oceny wydajności procesora i pamięci. Dzisiaj mówimy o benchmarkach dla systemów plików i systemów przechowywania w systemie Linux - Interbench, Fio, Hdparm, S i Bonnie.
Fio (skrót od Elastic I/O Tester) tworzy dyskowe strumienie I/O w celu oceny wydajności systemu plików Linux. Narzędzie można uruchomić także w systemie Windows – należy zainstalować interfejs wiersza poleceń Cygwin. Podręcznik konfiguracji jest już dostępny repozytoria fio na GitHubie.
Autor fio - Jens Axbo (Jensa Axboe), odpowiedzialny dla podsystemu IO w systemie Linux i programista narzędzi blktrace do śledzenia operacji we/wy. Stworzył fio, ponieważ jestem zmęczony pisać programy do ręcznego testowania określonych obciążeń.
Narzędzie obliczy IOPS i przepustowość systemu, a także pozwoli oszacować głębokość kolejki operacji we/wy. Narzędzie współpracuje ze specjalnymi plikami (rozszerzenie .fio), w których określone są ustawienia i warunki testowe. Istnieje kilka opcji testowania, na przykład losowy zapis, odczyt i nadpisywanie. Tutaj przykład zawartość pliku dla pierwszego przypadku:
Narzędzie zostało napisane przez kanadyjskiego programistę Marka Lorda w 2005 roku. Ona ciągle wspierany przez autora i jest częścią wielu popularnych dystrybucji. Głównym celem hdparm jest konfiguracja parametrów dysku. Ale narzędzie można używać do prostych testów porównawczych, takich jak prędkość odczytu. Aby to zrobić, wpisz w konsoli polecenie:
$ sudo hdparm -t /dev/sdb
System wygeneruje następującą odpowiedź:
Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec
Jeśli chodzi o konfigurację dysków, hdparm umożliwia zmianę rozmiaru pamięci podręcznej, modyfikację trybu uśpienia i ustawień zasilania, a także bezpieczne usunięcie danych z dysku SSD. Ale jak ostrzegać Eksperci z ArchLinux, nieostrożnie zmieniając parametry systemu, mogą spowodować, że dane na dysku staną się niedostępne, a nawet uszkodzić dysk. Przed pracą z hdparm lepiej zapoznać się z instrukcją - wystarczy wpisać w konsoli komendę man hdparm.
Wszystkie benchmarki to skrypty bash, oceniający wydajność systemu pamięci masowej - przepustowość, opóźnienia, wydajność programu planującego. Na przykład test porównawczy przepustowości-sync.sh „bombarduje” system pamięci masowej żądaniami odczytu lub zapisu (w tym przypadku wykorzystywane jest wspomniane już narzędzie fio). Tutaj kod tego skryptu.
Inny skrypt - comm_startup_lat.sh - mierzy opóźnienie odczytu danych z dysku, gdy pamięć podręczna jest „zimna” (kiedy nie zawiera niezbędnych danych). Kod również można znaleźć w repozytorium.
Narzędzie do oceny wydajności systemu plików, opracowane w 1989 roku. Jego autorem był inżynier Tim Bray. Z pomocą Bonnie zaplanował optymalizować obsługa systemów komputerowych objętych projektem Nowy słownik języka angielskiego w Oksfordzie na Uniwersytecie Waterloo.
Bonnie spełnia losowy odczyt i zapis danych na dysku. Następnie narzędzie wyświetla parametry, takie jak liczba przetworzonych bajtów na Procesor-sekunda, a także poziom obciążenia procesora w procentach. Dostępny jest wzorcowy kod źródłowy znajdź w Google Code.
Na bazie Bonnie budowany jest kolejny zestaw narzędzi do testowania dysków twardych - Bonnie++ (napisany w C++ zamiast C). Zapewnia dodatkowe narzędzia porównawcze. Na przykład zcav, aby ocenić wydajność różnych stref dysku twardego. Również Bonnie++ подходит do testowania serwerów pocztowych i serwerów baz danych.
Opracowano narzędzie Con Kolivas (Con Kolivas), australijski anestezjolog znany ze swojego wkładu w rozwój jądra Linuksa i pracy nad „uczciwy program planujący procesor" Interbench pomaga skonfigurować harmonogram we/wy i ustawienia systemu plików.
Interbench emuluje zachowanie harmonogramu procesora podczas wykonywania zadań interaktywnych. Te interaktywne zadania mogą obejmować pracę z dźwiękiem i wideo, uruchamianie gier komputerowych lub po prostu przeciąganie okna dialogowego w systemie operacyjnym.