Serverprestaties testen: een selectie van verschillende open source benchmarks

We vervolgen onze reeks materialen gewijd aan het testen van serverprestaties. Vandaag zullen we het hebben over een aantal beproefde benchmarks die nog steeds worden ondersteund en bijgewerkt: NetPerf, HardInfo en ApacheBench.

Serverprestaties testen: een selectie van verschillende open source benchmarks
Фото - Peter Balcerzak — CC DOOR SA

NetPerf

Dit is een hulpmiddel voor het beoordelen van de netwerkdoorvoer. Het is ontwikkeld door ingenieurs van Hewlett-Packard. Hulpmiddel omvat twee uitvoerbare bestanden: netserver en netclient. Om de test uit te voeren, moeten ze op verschillende machines worden uitgevoerd. Standaard gebruikt netperf poort 12865, maar dit kan worden gewijzigd met de vlag -p. Het hulpprogramma werkt met TCP en UDP via BSD Sockets, DLPI, Unix Domain Sockets en IPv6.

Tegenwoordig is netperf opgenomen in de benchmarkingtoolkit vluchtte. Het wordt ook gebruikt door een groot aantal IT-bedrijven, bijvoorbeeld Rode Hoed. Dit is hoe de beschrijving van de netperf-service eruit ziet in een van de voorbeelden voor het evalueren van OpenShift-prestaties:

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

De officiële repository zegt dat netperf wordt gedistribueerd onder een speciale Hewlett-Packard-licentie. De auteur van het hulpprogramma, Rick Jones, beweert echter dat het is ontworpen in de beste tradities van open source. We merken ook op dat recente updates voor netperf vrij zeldzaam zijn geworden. Dit kan te maken hebben met de volwassenheid van het product.

netperf heeft analogen - bijvoorbeeld Iperf2 и Iperf3. Ze bieden u ook de mogelijkheid om uw netwerkdoorvoer te testen. De ontwikkeling van iperf3 begon nadat de iperf2-repository in verval raakte. De nieuwe versie is helemaal opnieuw geschreven en is incompatibel met de vorige implementatie, hoewel deze een deel van de code bevat. Interessant is dat na de release van iperf3 het werk aan iperf2 weer begon te koken. Als gevolg hiervan twee hulpmiddelen bezitten vergelijkbare, maar tegelijkertijd verschillende functionaliteit. Iperf2 is bijvoorbeeld multi-threaded en iperf3 is dat wel werken met slechts één draad.

Harde info

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

HardInfo biedt verschillende tests aan. CPU Blowfish evalueert bijvoorbeeld de processorprestaties met behulp van cryptografische algoritmen voor bloksymmetrische versleuteling. Eten CPU N-Queens - test uit combinatoriek. Het systeem lost het schaakprobleem op waarbij N koninginnen op een bord met N x N vierkanten worden geplaatst. Ze rangschikt de stukken zo dat geen van hen de anderen kan aanvallen. Ook vermeldenswaard is FPU FFT - een test voor snelle berekening van de discrete Fourier-transformatie en FPU Raytracing - berekening van ray tracing bij het renderen van een 3D-scène.

Het resultaat bij de meeste tests wordt in seconden weergegeven en dus geldt: hoe kleiner het is, hoe beter. Alle rapporten worden weergegeven in HTML- en txt-formaten.

Aanvankelijk werd het hulpprogramma ontwikkeld als onderdeel van het project BerliOS. Het omvatte een hostingplatform voor open source-applicaties (zoals SourceForge) en verschillende databases voor documentatie en profielen van open source-ontwikkelaars. BerliOS werd in 2014 gesloten vanwege onvoldoende financiering. Tegenwoordig wordt HardInfo ontwikkeld dankzij de inspanningen van enthousiastelingen in een aparte bewaarplaats op GitHub.

Houd er rekening mee dat het systeem soms bugs tegenkomt. Het is bekend dat dit periodiek voorkomt segmentatie fout, problemen met weergave van USB-apparaten en meerdere ander.

ApacheBench

Een hulpmiddel voor het testen van HTTP-servers. ApacheBench (AB) is ontworpen om Apache te benchmarken, maar kan op elke andere server draaien. De tool is vooraf geïnstalleerd op veel Linux-distributies.

Serverprestaties testen: een selectie van verschillende open source benchmarks
Фото - Victor Freitas - ontspatten

Het hulpprogramma bombardeert servers met een groot aantal verzoeken. Om uit te voeren, moet u de volgende opdracht invoeren:

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

Er worden honderd GET-verzoeken (waarvan er maximaal tien tegelijkertijd worden verzonden) naar de testbron verzonden. Aan de uitgang toont het systeem de gemiddelde verwerkingstijd van de aanvraag, de totale hoeveelheid overgedragen gegevens, de doorvoer en het aantal fouten.

Tegenwoordig heeft zich een grote gemeenschap rond het nutsbedrijf verzameld. Verschijnt regelmatig op internet nieuwste gidsen over het instellen en gebruiken van ApacheBench.

Merk op dat AB een analoge heeft - Apache jMeter, maar met grote mogelijkheden. Hiermee kunt u bijvoorbeeld verzoeken genereren vanaf meerdere computers, terwijl u het proces vanaf één ervan beheert. Het programma implementeert ook mechanismen voor het autoriseren van virtuele gebruikers en ondersteunt gebruikerssessies. Deze tool wordt door veel IT-bedrijven gebruikt, inclusief cloudproviders, b.v. Qualy's.

Serverprestaties testen: een selectie van verschillende open source benchmarksWij van 1cloud leveren een dienst "Privécloud". Dit is een verhuur van virtuele infrastructuur met de mogelijkheid om de vloot snel aan te passen virtuele servers.
Serverprestaties testen: een selectie van verschillende open source benchmarksOnze wolk gebouwd op ijzer Cisco, Dell, NetApp. De apparatuur bevindt zich in verschillende datacentra: DataSpace (Moskou), SDN/Xelent (St. Petersburg), Ahost (Alma-Ata).

Bron: www.habr.com

Voeg een reactie