Kontynuujemy naszą serię materiałów poświęconych testowaniu wydajności serwerów. Dziś porozmawiamy o kilku sprawdzonych benchmarkach, które są nadal wspierane i aktualizowane — NetPerf, HardInfo i ApacheBench.
Zdjęcie — — CC BY-SA
Jest to narzędzie do oceny przepustowości sieci. Zostało opracowane przez inżynierów z firmy Hewlett-Packard. Narzędzie ma dwa pliki wykonywalne: netserver i netclient. Aby przeprowadzić test, należy je uruchomić na różnych maszynach. Domyślnie netperf używa portu 12865, ale można go zmienić za pomocą flagi -p. Używa protokołów TCP i UDP przez BSD Sockets, DLPI, Unix Domain Sockets oraz IPv6.
Obecnie netperf wchodzi w skład narzędzi do benchmarkingu . Korzysta z niego również wiele firm IT, . Oto jak 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
W oficjalnym repozytorium stwierdzono, że netperf jest dystrybuowane na podstawie specjalnej licencji Hewlett-Packard. Jednak twórca narzędzia — Rick Jones — twierdzi, że jest ono zgodne z najlepszymi tradycjami open source. Należy również zauważyć, że ostatnio aktualizacje dla netperf zaczęły się pojawiać dość rzadko. Być może jest to spowodowane dojrzałością produktu.
Netperf ma swoje odpowiedniki — na przykład, i . Pozwalają one również przetestować przepustowość sieci. Prace nad iperf3 rozpoczęto po tym, jak repozytorium iperf2 zaczęło zanikać. Nowa wersja została napisana od podstaw i nie jest kompatybilna z poprzednią wersją, chociaż zawiera część jej kodu. Co ciekawe, po wydaniu iperf3, prace nad iperf2 znów nabrały tempa. W rezultacie oba narzędzia podobną, ale jednocześnie różną funkcjonalność. Na przykład, iperf2 jest wielowątkowy, a iperf3 — tylko z jednym wątkiem.
Jest to narzędzie do zbierania informacji o sprzęcie i systemie operacyjnym. Wyświetla dane o pracy urządzeń na: PCI, ISA PnP, USB, IDE, SCSI oraz portach szeregowych i równoległych. Można je również wykorzystać jako benchmark i narzędzie monitorujące.
HardInfo oferuje kilka testów. Na przykład, CPU Blowfish — ocenia wydajność procesora za pomocą algorytmów kryptograficznych szyfrowania blokowego. Jest — test z kombinatoryki. System rozwiązuje problem szachowy umieszczania N królowych na planszy N x N. Ustawia figury tak, aby żadna z nich nie mogła zaatakować innych. Należy również zaznaczyć FPU FFT — test 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ą prezentowane w formatach HTML i txt.
Początkowo narzędzie było rozwijane w ramach projektu . Zawierał platformę hostingową dla aplikacji z otwartym źródłem (takich jak ) i kilka baz danych do dokumentacji oraz profili programistów open source. BerliOS zamknięto w 2014 roku z powodu braku finansowania. Dziś HardInfo rozwija się dzięki wysiłkom entuzjastów na GitHubie.
Należy zauważyć, że w działaniu systemu czasami występują błędy. Znane są przypadki okresowo pojawiającego się , problemów z i kilku .
Narzędzie do testowania obciążeniowego serwerów HTTP. ApacheBench (AB) był rozwijany w celu sprawdzania Apache, ale może działać na każdym innym serwerze. Narzędzie jest wstępnie zainstalowane w wielu dystrybucjach Linux.

Zdjęcie — Czym tak naprawdę jest problem
Narzędzie "bombarduje" serwery dużą liczbą żądań. Aby je uruchomić, należy wpisać następującą komendę:
ab -n 100 -c 10 http://www.example.com/Wyśle sto żądań GET (jednocześnie maksymalnie dziesięć z nich) do testowanego zasobu. W rezultacie system pokaże średni czas przetwarzania żądań, całkowitą ilość przesyłanych danych, przepustowość i liczbę błędów.
Dziś wokół narzędzia skupiona jest szeroka społeczność. W sieci regularnie pojawiają się jak skonfigurować i używać ApacheBench.
Warto zauważyć, że AB ma odpowiednik — , ale z większymi możliwościami. Na przykład pozwala generować zapytania z kilku komputerów, zarządzając procesem z jednego z nich. Program zawiera także mechanizmy autoryzacji wirtualnych użytkowników oraz obsługuje sesje użytkowników. Ten instrument jest stosowany przez wiele firm IT, dostawców chmurowych, takich jak .
W 1cloud oferujemy usługę . To jest wynajem wirtualnej infrastruktury z możliwością szybkiej personalizacji zasobów. .
Nasza chmura Cisco, Dell, NetApp. Sprzęt znajduje się w kilku centrach danych: DataSpace (Moskwa), SDN/Xelent (Sankt Petersburg), Ahost (Ałmaty).
Źródło: habr.com
