Jak przetestować wydajność serwera: wybór kilku testów porównawczych open source

Kontynuujemy cykl materiałów poświęconych testowaniu wydajności serwerów. Dzisiaj porozmawiamy o kilku sprawdzonych testach porównawczych, które są nadal obsługiwane i aktualizowane – NetPerf, HardInfo i ApacheBench.

Jak przetestować wydajność serwera: wybór kilku testów porównawczych open source
Фото - Piotr Balcerzak — CC BY SA

NetPerf

Jest to narzędzie służące do oceny przepustowości sieci. Został opracowany przez inżynierów z firmy Hewlett-Packard. Narzędzie obejmuje dwa pliki wykonywalne: netserver i netclient. Aby uruchomić test, należy je uruchomić na różnych komputerach. Domyślnie netperf używa portu 12865, ale można to zmienić za pomocą flagi -p. Narzędzie współpracuje z protokołami TCP i UDP przez gniazda BSD, DLPI, gniazda domeny Unix i IPv6.

Obecnie netperf jest zawarty w zestawie narzędzi do testów porównawczych płynny. Korzysta z niego także dość duża liczba firm IT, na przykład Red Hat. Tak wygląda opis usługi netperf w jednym z przykładów oceny wydajności OpenShift:

apiVersion: v1
kind: Service
metadata:
  labels:
    app-name: netperf
  name: netperf
  namespace: your_project
spec:
  ports:
  - port: 12865
    protocol: TCP
    targetPort: 12865
  selector:
    app-name: netperf
  sessionAffinity: ClientIP
  type: ClusterIP

Oficjalne repozytorium podaje, że netperf jest dystrybuowany na specjalnej licencji firmy Hewlett-Packard. Autor narzędzia, Rick Jones, twierdzi jednak, że zostało ono zaprojektowane w najlepszych tradycjach open source. Zauważamy również, że ostatnio aktualizacje netperf stały się dość rzadkie. Może to wynikać z dojrzałości produktu.

netperf ma analogi - na przykład iperf2 и iperf3. Umożliwiają także przetestowanie przepustowości sieci. Rozwój iperf3 rozpoczął się po tym, jak repozytorium iperf2 popadło w ruinę. Nowa wersja jest napisana od podstaw i jest niekompatybilna z poprzednią implementacją, choć zawiera część jej kodu. Co ciekawe, po wydaniu iperf3 prace nad iperf2 znów zaczęły się gotować. W rezultacie dwa narzędzia posiadać podobną, ale jednocześnie inną funkcjonalność. Na przykład iperf2 jest wielowątkowy, a iperf3 jest działa tylko z jednym wątkiem.

Twarde informacje

Jest to narzędzie służące do zbierania informacji o sprzęcie i systemie operacyjnym. Wyświetla dane o pracy urządzeń na portach: PCI, ISA PnP, USB, IDE, SCSI, a także na portach szeregowych i równoległych. Można go jednak używać jako punktu odniesienia i narzędzia monitorowania.

HardInfo oferuje kilka testów. Na przykład CPU Blowfish ocenia wydajność procesora przy użyciu algorytmów kryptograficznych do blokowego szyfrowania symetrycznego. Jeść Procesor N-Queens - test z kombinatoryki. System rozwiązuje problem szachowy polegający na umieszczeniu N hetmanów na szachownicy o N x N kwadratów. Układa elementy tak, aby żaden z nich nie mógł zaatakować pozostałych. Na uwagę zasługuje także FPU FFT – test do szybkiego obliczania dyskretnej transformaty Fouriera oraz FPU Raytracing – obliczanie śledzenia promieni podczas renderowania sceny 3D.

Wynik w większości testów podawany jest w sekundach i odpowiednio im jest mniejszy, tym lepiej. Wszystkie raporty są wyświetlane w formatach HTML i txt.

Początkowo narzędzie zostało opracowane w ramach projektu BerliOS. Zawierał platformę hostingową dla aplikacji open source (takich jak SourceForge) oraz kilka baz danych zawierających dokumentację i profile programistów open source. BerliOS został zamknięty w 2014 roku z powodu niewystarczających środków finansowych. Dziś HardInfo rozwija się dzięki wysiłkom entuzjastów w oddzielnym repozytorium na GitHubie.

Należy pamiętać, że w systemie czasami pojawiają się błędy. Wiadomo, że występuje okresowo błąd segmentacji, problemy z wyświetlanie urządzeń USB i kilka inny.

ApacheBench

Narzędzie do testowania obciążenia serwerów HTTP. ApacheBench (AB) został zaprojektowany do testowania Apache, ale może działać na dowolnym innym serwerze. Narzędzie jest preinstalowane w wielu dystrybucjach Linuksa.

Jak przetestować wydajność serwera: wybór kilku testów porównawczych open source
Фото - Wiktor Freitas — Rozpryskiwanie

Narzędzie bombarduje serwery dużą liczbą żądań. Aby uruchomić musisz wpisać następującą komendę:

ab -n 100 -c 10 http://www.example.com/

Wyśle sto żądań GET (maksymalnie dziesięć z nich zostanie wysłanych jednocześnie) do zasobu testowego. Na wyjściu system pokaże średni czas realizacji żądania, całkowitą ilość przesłanych danych, przepustowość oraz liczbę błędów.

Dziś wokół zakładu zebrała się duża społeczność. Regularnie pojawiają się w Internecie najnowsze poradniki o tym, jak skonfigurować i używać ApacheBench.

Należy pamiętać, że AB ma analogę - Apache jMeter, ale z dużymi możliwościami. Umożliwia na przykład generowanie żądań z wielu komputerów przy jednoczesnym zarządzaniu procesem z jednego z nich. W programie zaimplementowano także mechanizmy autoryzacji użytkowników wirtualnych oraz obsługę sesji użytkowników. Z narzędzia tego korzysta wiele firm informatycznych, w tym dostawcy usług w chmurze, np. Qualy's.

Jak przetestować wydajność serwera: wybór kilku testów porównawczych open sourceW 1cloud zapewniamy usługę "Prywatna chmura". Jest to wynajem infrastruktury wirtualnej z możliwością szybkiego dostosowania floty Serwery Wirtualne.
Jak przetestować wydajność serwera: wybór kilku testów porównawczych open sourceNasza chmura zbudowany na żelazie Cisco, Dell, NetApp. Sprzęt znajduje się w kilku centrach danych: DataSpace (Moskwa), SDN/Xelent (St. Petersburg), Ahost (Ałma-Ata).

Źródło: www.habr.com

Dodaj komentarz