Dziś omówimy otwarte narzędzia do oceny wydajności procesorów, pamięci, systemów plików i systemów przechowywania danych.
Na liście znalazły się narzędzia proponowane przez rezydentów GitHub i uczestników tematów na Reddit, takie jak Sysbench, UnixBench, Phoronix Test Suite, Vdbench i IOzone.
/ Unsplash /
To narzędzie do testowania obciążenia serwerów MySQL oparte jest na projekcie LuaJIT, w ramach którego rozwijana jest wirtualna maszyna dla języka Lua. Autorem narzędzia jest programista i ekspert w dziedzinie MySQL, Aleksey Kopytov. Projekt zaczynał jako hobby, ale z czasem zyskał uznanie w społeczności. Obecnie sysbench jest wykorzystywany w pracy przez duże uniwersytety i organizacje IT .
Podczas konferencji SECR-2017 (nagranie wystąpienia ) Aleksey opowiedział, że sysbench pozwala ocenić wydajność bazy danych przy przenoszeniu na nowy sprzęt, aktualizacji wersji DBMS lub nagłej zmiany liczby zapytań. W ogólnym przypadku składnia polecenia do przeprowadzenia testu wygląda następująco:
sysbench [options]... [testname] [command]To polecenie definiuje typ (cpu, memory, fileio) oraz parametry testu obciążeniowego (liczba wątków, liczba zapytań, szybkość przetwarzania transakcji). Ogólnie narzędzie jest w stanie obsługiwać miliony zdarzeń na sekundę. Więcej o architekturze i wewnętrznej budowie sysbench opowiedział Aleksey Kopytov w jednym z .
Zestaw narzędzi do oceny wydajności systemów Unix. Został zaprezentowany przez inżynierów z Uniwersytetu Monash w 1983 roku. Od tego czasu instrument wsparło wiele osób, na przykład autorzy czasopisma o mikrokomputerowych technologiach i uczestnik LKML David Niemi (David Niemi). Za wydanie następnej wersji narzędzia odpowiada Anthony Voellm () z Microsoft.
UnixBench jest zestawem indywidualnych testów. Porównują one szybkość wykonywania kodu na maszynie działającej pod Unixem z wydajnością systemu referencyjnego, którym jest 20-61. Na podstawie tej porównania generowana jest ocena określająca wydajność.
Dostępne testy obejmują: Whetstone, który opisuje wydajność operacji na liczbach zmiennoprzecinkowych, File Copy, oceniający prędkość kopiowania danych oraz kilka benchmarków 2D i 3D. Pełną listę testów można znaleźć w . Wiele z nich służy do oceny wydajności maszyn wirtualnych w chmurze.
Ten kompleks testów został opracowany przez autorów portalu Phoronix, który publikuje wiadomości o dystrybucjach GNU/Linux. Po raz pierwszy Suite Test został zaprezentowany w 2008 roku — wtedy zawierał 23 różne testy. Później deweloperzy uruchomili usługi chmurowe , na którym użytkownicy mogli publikować własne scenariusze testowe. Obecnie na nim jest około 60 zestawów benchmarków, w tym związanych z uczeniem maszynowym i technologią ray-tracing.
Zestawy specjalistycznych skryptów pozwalają na przetestowanie poszczególnych komponentów systemu. Dzięki nim można ocenić czas kompilacji jądra i kodowania plików wideo, prędkość kompresji archiwizerów itd. Aby uruchomić testy, wystarczy wpisać odpowiednią komendę w konsoli. Na przykład, ta komenda inicjalizuje ocenę wydajności CPU:
phoronix-test-suite benchmark smallptPodczas testowania Suite Test samodzielnie monitoruje stan sprzętu (temperaturę CPU i prędkość obrotową wentylatorów), chroniąc system przed przegrzaniem.

/ Unsplash /
Narzędzie do generowania obciążenia I/O na systemach dyskowych, opracowane przez Oracle. Pomaga ocenić wydajność i integralność macierzy dyskowej (o tym, jak obliczyć teoretyczną wydajność systemu dyskowego, przygotowaliśmy ).
Rozwiązanie działa w następujący sposób: na rzeczywistym systemie uruchamiana jest aplikacja SWAT (Sun StorageTek Workload Analysis Tool), która tworzy zrzut ze wszystkimi operacjami dostępu do dysku w określonym czasie. Zapisują się znacznik czasu, typ operacji, adres i rozmiar bloku danych. Następnie, korzystając z pliku ze zrzutem, vdbench emuluje obciążenie na dowolnym innym systemie.
Lista parametrów zarządzających narzędziem znajduje się w oficjalnym . 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 przepisania plików. W rozwój narzędzia zaangażowało się dziesiątki programistów, ale autorem pierwszej wersji jest inżynier William Norcott. Rozwój wsparły takie firmy jak Apple, NetApp i iXsystems.
Do zarządzania strumieniami i ich synchronizacją podczas testowania narzędzie wykorzystuje standard . Po zakończeniu pracy IOzone generuje raport z wynikami, zarówno w formacie tekstowym, jak i w formacie arkusza kalkulacyjnego (Excel). Narzędzie zawiera również skrypt gengnuplot.sh, który tworzy trójwymiarowy wykres na podstawie danych z tabel. Przykłady takich wykresów można znaleźć w dokumentacji narzędzia ().
IOzone jest dostępny jako profil testowy w już wspomnianym Phoronix Test Suite.
Dodatkowe lektury z naszych blogów i mediów społecznościowych:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Źródło: habr.com
