Benchmarki dla serwerów Linux: 5 otwartych narzędzi

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.

Benchmarki dla serwerów Linux: 5 otwartych narzędzi
/ Unsplash / Veri Ivanova

Sysbench

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 takie jak IEEE.

Podczas konferencji SECR-2017 (nagranie wystąpienia jest dostępna na YouTube) 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 odcinków podcastu Software Development Podcast.

UnixBench

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 Byte Magazine i uczestnik LKML David Niemi (David Niemi). Za wydanie następnej wersji narzędzia odpowiada Anthony Voellm (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 SPARCstation 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 repozytorium na GitHubie. Wiele z nich służy do oceny wydajności maszyn wirtualnych w chmurze.

Phoronix Test Suite

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 OpenBenchmarking.org, na którym użytkownicy mogli publikować własne scenariusze testowe. Obecnie na nim znajduje się 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 smallpt

Podczas testowania Suite Test samodzielnie monitoruje stan sprzętu (temperaturę CPU i prędkość obrotową wentylatorów), chroniąc system przed przegrzaniem.

Benchmarki dla serwerów Linux: 5 otwartych narzędzi
/ Unsplash / Jason Chen

Vdbench

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 krótką instrukcję).

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 dokumencie Oracle. Kod źródłowy narzędzia można znaleźć na stronie firmy.

IOzone

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 uważane 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 POSIX Threads. 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 (str. 11–17).

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:

Benchmarki dla serwerów Linux: 5 otwartych narzędzi Błąd w Linux 5.1 prowadził do utraty danych – poprawka już została wydana
Benchmarki dla serwerów Linux: 5 otwartych narzędzi Jest opinia: technologia DANE dla przeglądarek nie powiodła się

Benchmarki dla serwerów Linux: 5 otwartych narzędzi Po co potrzebny jest monitoring?
Benchmarki dla serwerów Linux: 5 otwartych narzędzi Kopia zapasowa plików: jak zabezpieczyć się przed utratą danych
Benchmarki dla serwerów Linux: 5 otwartych narzędzi Jak przenieść systemowy dysk twardy do maszyny wirtualnej?

Benchmarki dla serwerów Linux: 5 otwartych narzędzi Wszyscy mówią o wyciekach danych osobowych — jak może pomóc dostawca IaaS
Benchmarki dla serwerów Linux: 5 otwartych narzędzi Krótki przewodnik: jak działa podpis elektroniczny
Benchmarki dla serwerów Linux: 5 otwartych narzędzi Informacje: jak funkcjonuje ustawa o ochronie danych osobowych

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster