Hur man testar serverprestanda: ett urval av flera benchmarks för öppen källkod

Vi fortsätter vår serie av material som ägnas åt att testa serverprestanda. Idag ska vi prata om ett par beprövade benchmarks som fortfarande stöds och uppdateras - NetPerf, HardInfo och ApacheBench.

Hur man testar serverprestanda: ett urval av flera benchmarks för öppen källkod
Фото - Peter Balcerzak — CC BY-SA

NetPerf

Detta är ett verktyg för att bedöma nätverkets genomströmning. Det utvecklades av ingenjörer från Hewlett-Packard. Verktyg omfattar två körbara filer: netserver och netclient. För att köra testet måste de köras på olika maskiner. Som standard använder netperf port 12865, men detta kan ändras med -p-flaggan. Verktyget fungerar med TCP och UDP över BSD Sockets, DLPI, Unix Domain Sockets och IPv6.

Idag ingår netperf i benchmarking toolkit flent. Det används också av ett ganska stort antal IT-företag, till exempel Red Hat. Så här ser beskrivningen av netperf-tjänsten ut i ett av exemplen för att utvärdera OpenShift-prestanda:

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

Det officiella arkivet säger att netperf distribueras under en speciell Hewlett-Packard-licens. Men författaren till verktyget, Rick Jones, hävdar att det är designat i de bästa traditionerna av öppen källkod. Vi noterar också att de senaste uppdateringarna för netperf har blivit ganska sällsynta. Detta kan bero på produktens mognad.

netperf har analoger - till exempel, iperf2 и iperf3. De låter dig också testa din nätverkskapacitet. Utvecklingen av iperf3 började efter att iperf2-förvaret förföll. Den nya versionen är skriven från grunden och är inkompatibel med den tidigare implementeringen, även om den innehåller en del av dess kod. Intressant nog, efter lanseringen av iperf3 började arbetet med iperf2 koka igen. Som ett resultat, två verktyg besitter liknande, men samtidigt olika funktionalitet. Till exempel är iperf2 flertrådad och iperf3 är det arbetar med bara en tråd.

Hard

Detta är ett verktyg för att samla in information om hårdvara och operativsystem. Den visar data om driften av enheter på: PCI, ISA PnP, USB, IDE, SCSI, såväl som seriella och parallella portar. Men det kan användas som ett riktmärke och övervakningsverktyg.

HardInfo erbjuder flera tester. Till exempel utvärderar CPU Blowfish processorprestanda med hjälp av kryptografiska algoritmer för blocksymmetrisk kryptering. Äta CPU N-Queens - test från kombinatorik. Systemet löser schackproblemet med att placera N damer på ett bräde med N x N rutor. Hon ordnar pjäserna så att ingen av dem kan attackera de andra. Värt att notera är också FPU FFT - ett test för snabb beräkning av den diskreta Fouriertransformen och FPU Raytracing - beräkning av strålspårning vid rendering av en 3D-scen.

Resultatet i de flesta tester ges på sekunder och följaktligen, ju mindre det är, desto bättre. Alla rapporter visas i HTML- och txt-format.

Till en början utvecklades verktyget som en del av projektet BerliOS. Det inkluderade en värdplattform för applikationer med öppen källkod (som SourceForge) och flera databaser för dokumentation och profiler för utvecklare med öppen källkod. BerliOS stängdes 2014 på grund av otillräcklig finansiering. Idag utvecklas HardInfo genom insatser från entusiaster i ett separat förråd på GitHub.

Observera att systemet ibland stöter på buggar. Det är känt att periodiskt förekommer segmenteringsfel, problem med visning av USB-enheter och flera andra.

ApacheBänk

Ett verktyg för belastningstestning av HTTP-servrar. ApacheBench (AB) designades för att benchmarka Apache, men den kan köras på vilken annan server som helst. Verktyget är förinstallerat på många Linux-distributioner.

Hur man testar serverprestanda: ett urval av flera benchmarks för öppen källkod
Фото - Victor Freitas — unsplash

Verktyget bombarderar servrar med ett stort antal förfrågningar. För att köra måste du ange följande kommando:

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

Den kommer att skicka hundra GET-förfrågningar (högst tio av dem kommer att skickas samtidigt) till testresursen. Vid utgången kommer systemet att visa den genomsnittliga bearbetningstiden för begäran, den totala mängden överförd data, genomströmning och antalet fel.

Idag har ett stort samhälle samlats kring bruken. Uppträder regelbundet på Internet senaste guiderna om hur man ställer in och använder ApacheBench.

Observera att AB har en analog - Apache jMetermen med stora möjligheter. Till exempel låter det dig generera förfrågningar från flera datorer samtidigt som du hanterar processen från en av dem. Programmet implementerar också mekanismer för att auktorisera virtuella användare och stöder användarsessioner. Detta verktyg används av många IT-företag, Inklusive molnleverantörer, t.ex. Qualy's.

Hur man testar serverprestanda: ett urval av flera benchmarks för öppen källkodVi på 1cloud tillhandahåller en tjänst "Privat moln". Detta är en uthyrning av virtuell infrastruktur med möjlighet att snabbt anpassa flottan virtuella servrar.
Hur man testar serverprestanda: ett urval av flera benchmarks för öppen källkodVårt moln byggd på järn Cisco, Dell, NetApp. Utrustningen finns i flera datacenter: DataSpace (Moskva), SDN/Xelent (St. Petersburg), Ahost (Alma-Ata).

Källa: will.com

Lägg en kommentar