ProHoster > Blog > administracja > Jak przetestować wydajność serwera: wybór kilku testów porównawczych open source
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.
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:
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.
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.
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.
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.
W 1cloud zapewniamy usługę "Prywatna chmura". Jest to wynajem infrastruktury wirtualnej z możliwością szybkiego dostosowania floty Serwery Wirtualne.
Nasza 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).