Dzisiaj porozmawiamy o otwartych narzędziach do oceny wydajności procesorów, pamięci, systemów plików i systemów pamięci masowej.
Na liście znalazły się narzędzia oferowane przez mieszkańców GitHuba oraz uczestników wątków tematycznych na Reddicie – Sysbench, UnixBench, Phoronix Test Suite, Vdbench i IOzone.
/Unsplash/
Jest to narzędzie do testowania obciążenia serwerów MySQL, oparte na projekcie LuaJIT, w ramach którego rozwijana jest maszyna wirtualna dla języka Lua. Autorem narzędzia jest programista i ekspert MySQL Alexey Kopytov. Projekt zaczął się jako hobby, ale z czasem zyskał uznanie społeczności. Dziś sysbench jest wykorzystywany w swojej pracy przez duże uczelnie i organizacje IT. .
Podczas konferencji SECR-2017 (nagranie wystąpienia ) Aleksiej powiedział, że sysbench pozwala ocenić wydajność bazy danych podczas przenoszenia na nowy sprzęt, aktualizacji wersji DBMS lub nagłej zmiany liczby zapytań. Ogólnie składnia komendy uruchamiającej test jest następująca:
sysbench [options]... [testname] [command]Polecenie to określa typ (procesor, pamięć, fileio) i parametry testu obciążenia (liczba wątków, liczba żądań, szybkość przetwarzania transakcji). Ogólnie rzecz biorąc, narzędzie jest w stanie przetwarzać miliony zdarzeń na sekundę. Alexey Kopytov opowiedział bardziej szczegółowo o architekturze i wewnętrznej strukturze sysbencha w jednym z nich .
Zestaw narzędzi do oceny wydajności systemów Unix. Został wprowadzony przez inżynierów z Uniwersytetu Monash w 1983 roku. Od tego czasu narzędzie wspiera wiele osób, m.in. autorzy magazynu o technologiach mikrokomputerowych i członek LKML David Niemi. Za wydanie kolejnej wersji narzędzia odpowiada Anthony Voelm () od Microsoftu.
UnixBench to zestaw niestandardowych testów porównawczych. Porównują szybkość wykonywania kodu na maszynie uniksowej z wydajnością systemu referencyjnego, czyli 20-61. Na podstawie tego porównania generowany jest wynik wydajności.
Wśród dostępnych testów znajdują się: Whetstone, który opisuje wydajność operacji zmiennoprzecinkowych, File Copy, który ocenia prędkość kopiowania danych oraz kilka benchmarków 2D i 3D. Pełną listę testów można znaleźć w . Wiele z nich wykorzystuje się do oceny wydajności maszyn wirtualnych w chmurze.
Ten zestaw testów został opracowany przez autorów zasobu internetowego Phoronix, który publikuje wiadomości na temat dystrybucji GNU/Linux. Pakiet Testów został po raz pierwszy wprowadzony w 2008 roku – wówczas zawierał 23 różne testy. Później programiści uruchomili usługę w chmurze , gdzie użytkownicy mogli publikować własne skrypty testowe. Dziś o tym około 60 zestawów benchmarków, w tym związanych z technologią uczenia maszynowego i ray tracingu.
Zestawy wyspecjalizowanych skryptów pozwalają na testowanie poszczególnych komponentów systemu. Za ich pomocą można oszacować czas kompilacji jądra i kodowania plików wideo, prędkość kompresji archiwizatorów itp. Aby uruchomić testy wystarczy wpisać odpowiednią komendę w konsoli. Na przykład to polecenie inicjuje ocenę wydajności procesora:
phoronix-test-suite benchmark smallptPodczas testów Test Suite niezależnie monitoruje stan sprzętu (temperaturę procesora i prędkość obrotową chłodnicy), chroniąc system przed przegrzaniem.

/Unsplash/
Narzędzie do generowania obciążenia we/wy w systemach dyskowych, opracowane przez firmę Oracle. Pomaga ocenić wydajność i integralność systemów pamięci masowej (przygotowaliśmy informacje o tym, jak obliczyć teoretyczną wydajność systemu dyskowego ).
Rozwiązanie działa w następujący sposób: na prawdziwym systemie uruchamiany jest program SWAT (Sun StorageTek Workload Analysis Tool), który tworzy zrzut wszystkich dostępów do dysku z określonego okresu. Rejestrowany jest znacznik czasu, typ operacji, adres i rozmiar bloku danych. Następnie, korzystając z pliku zrzutu, vdbench emuluje obciążenie w dowolnym innym systemie.
Lista parametrów zarządzania narzędziem znajduje się w oficjalnym dokumencie . Kod źródłowy narzędzia można znaleźć .
Narzędzie konsolowe do oceny wydajności systemów plików. Określa prędkość odczytu, zapisu i przepisywania plików. W rozwoju narzędzia wzięło udział kilkudziesięciu programistów, ale był autorem jego pierwszej wersji inżynier William Norcott. Rozwój wsparły takie firmy jak Apple, NetApp czy iXsystems.
Aby zarządzać wątkami i synchronizować je podczas testów, narzędzie wykorzystuje standard . Po zakończeniu pracy IOzone generuje raport z wynikami w formacie tekstowym lub w formie arkusza kalkulacyjnego (Excel). W narzędziu znajduje się także skrypt gengnuplot.sh, który na podstawie danych tabelarycznych buduje trójwymiarowy wykres. Przykłady takich wykresów można znaleźć w dokumentacji narzędzia ().
IOzone jest dostępny jako profil testowy we wspomnianym już pakiecie Phoronix Test Suite.
Dodatkowe lektury z naszych blogów i mediów społecznościowych:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Źródło: www.habr.com
