Hoe de prestaties van servers te testen: een selectie van verschillende open source benchmarks

We zetten onze serie artikelen over het testen van serverprestaties voort. Vandaag bespreken we een paar door de tijd bewezen benchmarks die nog steeds worden ondersteund en geüpdatet — NetPerf, HardInfo en ApacheBench.

Hoe de prestaties van servers te testen: een selectie van verschillende open source benchmarks
Foto — Peter Balcerzak — CC BY-SA

NetPerf

Dit is een tool voor het beoordelen van de netwerksnelheid. Het is ontwikkeld door ingenieurs van Hewlett-Packard. De tool bevat twee uitvoerbare bestanden: netserver en netclient. Voor het uitvoeren van de test moeten ze op verschillende machines worden gestart. Standaard gebruikt netperf poort 12865, maar deze kan worden vervangen met de vlag -p. De utility werkt met TCP en UDP via BSD Sockets, DLPI, Unix Domein Sockets en IPv6.

Vandaag de dag maakt netperf deel uit van de set tools voor benchmarking Flent. Ook wordt het gebruikt door een vrij groot aantal IT-bedrijven, zoals Red Hat. Zo ziet de beschrijving van de netperf-service eruit in een van de voorbeelden voor de evaluatie van de prestaties van 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

In de officiële repository staat dat netperf wordt verspreid onder een speciale licentie van Hewlett-Packard. Echter, de auteur van de utility — Rick Jones — beweert dat het in de beste open source tradities is georganiseerd. Laten we ook opmerken dat de laatste tijd de updates voor netperf vrij zeldzaam zijn geworden. Dit kan samenhangen met de volwassenheid van het product.

Netperf heeft analogen — zoals iperf2 en iperf3. Ze stellen ook in staat om de netwerksnelheid te testen. De ontwikkeling van iperf3 begon nadat de repository van iperf2 in verval raakte. De nieuwe versie is vanaf nul geschreven en niet compatibel met de vorige implementatie, hoewel het een deel van de code bevat. Interessant is dat, na de release van iperf3, het werk aan iperf2 weer op gang kwam. Uiteindelijk beschikken beide tools over vergelijkbare, maar tegelijkertijd verschillende functionaliteit. Bijvoorbeeld, iperf2 is multi-threaded, terwijl iperf3 — slechts met één thread werkt. Hardinfo

Dit is een utility voor het verzamelen van informatie over hardware en het besturingssysteem. Het toont gegevens over de werking van apparaten op: PCI, ISA PnP, USB, IDE, SCSI, evenals seriële en parallelle poorten. Maar het kan ook worden gebruikt als een benchmark en monitoringsinstrument.

Dit is een hulpprogramma voor het verzamelen van informatie over hardware en het besturingssysteem. Het toont gegevens over de werking van apparaten op: PCI, ISA PnP, USB, IDE, SCSI, evenals seriële en parallelle poorten. Maar het kan ook worden gebruikt als benchmarking- en monitoringtool.

HardInfo biedt verschillende tests aan. Bijvoorbeeld, de CPU Blowfish test evalueert de prestaties van de processor met behulp van cryptografische algoritmen voor symmetrische bloksleutels. Er zijn CPU N-Queens — een test uit de combinatoriek. Het systeem lost het schaakprobleem op van het plaatsen van N dames op een N x N bord. Het plaatst de stukken zo, dat geen van hen de anderen kan aanvallen. Ook is er FPU FFT — een test voor het snel berekenen van de discrete Fourier-transformatie, en FPU Raytracing — het berekenen van ray tracing bij het renderen van een 3D-scène.

De resultaten van de meeste tests worden in seconden weergegeven en, logischerwijs, hoe lager deze waarde, hoe beter. Alle rapporten zijn beschikbaar in HTML- en txt-formaten.

De tool werd oorspronkelijk ontwikkeld als onderdeel van het project BerliOS. Dit omvatte een hostingplatform voor applicaties met open source-code (zoals SourceForge) en verschillende databases voor documentatie en profielen van open source-ontwikkelaars. BerliOS werd in 2014 gesloten wegens onvoldoende financiering. Tegenwoordig wordt HardInfo verder ontwikkeld door enthousiaste vrijwilligers in een aparte repository op GitHub.

Het is vermeldenswaard dat er soms bugs in het systeem voorkomen. Er zijn meldingen van een periodiek voorkomende segmentschending, problemen met de weergave van USB-apparaten en verschillende andere.

ApacheBench

Een tool voor het belasten van HTTP-servers. ApacheBench (AB) is ontwikkeld om Apache te testen, maar kan op elke andere server functioneren. De tool is voorgeïnstalleerd op veel Linux-distributies.

Hoe de prestaties van servers te testen: een selectie van verschillende open source benchmarks
Foto — Victor Freitas — Unsplash

De utility 'bombardeert' servers met een groot aantal verzoeken. Om te starten, moet de volgende opdracht worden ingevoerd:

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

Dit zal honderd GET-verzoeken verzenden (maximaal tien van hen zullen tegelijkertijd worden verzonden) naar de testbron. De output toont de gemiddelde verwerkingstijd van verzoeken, de totale hoeveelheid verzonden gegevens, de doorvoersnelheid en het aantal fouten.

Vandaag de dag is er een grote gemeenschap rond de utility ontstaan. Er verschijnen regelmatig nieuwe handleidingen over hoe ApacheBench te configureren en te gebruiken.

Het is vermeldenswaard dat er een alternatief voor AB is — Apache jMeter, maar met grotere mogelijkheden. Het stelt bijvoorbeeld in staat om verzoeken vanaf meerdere computers te genereren, terwijl het proces vanaf een van hen wordt beheerd. De software bevat ook mechanismen voor de autorisatie van virtuele gebruikers, en ondersteunt gebruikerssessies. Dit hulpmiddel wordt gebruikt door veel IT-bedrijven, waaronder cloudproviders, zoals Qualys.

Hoe de prestaties van servers te testen: een selectie van verschillende open source benchmarksWij bij 1cloud bieden de dienst ‘Privé-cloud’. Dit is de verhuur van virtuele infrastructuur met de mogelijkheid om het park snel aan te passen virtuele servers.
Hoe de prestaties van servers te testen: een selectie van verschillende open source benchmarksOnze cloud is opgebouwd uit hardware van Cisco, Dell, NetApp. De apparatuur staat in verschillende datacenters: DataSpace (Moskou), SDN/Xelent (Sint-Petersburg), Ahost (Almaty).

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster