Hur man testar serverprestanda: en samling av flera open source-benchmarkingverktyg

Vi fortsĂ€tter vĂ„r serie av artiklar som handlar om att testa serverprestanda. Idag kommer vi att prata om ett par beprövade benchmarkverktyg som fortfarande stöds och uppdateras – NetPerf, HardInfo och ApacheBench.

Hur man testar serverprestanda: en samling av flera open source-benchmarkingverktyg
Foto — Peter Balcerzak — CC BY-SA

NetPerf

Detta Àr ett verktyg för att mÀta nÀtverkskapacitet. Det utvecklades av ingenjörer frÄn Hewlett-Packard. Verktyget inkluderar har tvÄ körbara filer: netserver och netclient. För att genomföra testet mÄste de köras pÄ olika maskiner. Som standard anvÀnder netperf port 12865, men den kan Àndras med flaggan -p. Verktyget fungerar med TCP och UDP via BSD Sockets, DLPI, Unix Domain Sockets och IPv6.

Idag ingÄr netperf i verktygssamlingen för benchmarking Flent. Det anvÀnds ocksÄ av ett ganska stort antal IT-företag, till exempel Red Hat. SÄ hÀr ser beskrivningen av tjÀnsten netperf ut i ett av exemplen för att mÀta prestanda av 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

I det officiella arkivet anges att netperf distribueras under en speciell licens frĂ„n Hewlett-Packard. Men verktygets skapare – Rick Jones – hĂ€vdar att det Ă€r utformat enligt de bĂ€sta traditionerna inom open source. Vi noterar ocksĂ„ att uppdateringarna för netperf nyligen har blivit ganska sĂ€llsynta. Det kan bero pĂ„ produktens mognad.

Netperf har analoger – till exempel, iperf2 och iperf3. De möjliggör ocksĂ„ testning av nĂ€tverkskapaciteten. Utvecklingen av iperf3 pĂ„börjades efter att arkivet för iperf2 hade gĂ„tt i nedgĂ„ng. Den nya versionen Ă€r skriven frĂ„n grunden och Ă€r inte kompatibel med den tidigare implementationen, Ă€ven om den innehĂ„ller en del av dess kod. Intressant nog, efter slĂ€ppet av iperf3, kom arbetet med iperf2 igĂ„ng igen. Som ett resultat har de tvĂ„ verktygen liknande men samtidigt olika funktioner. Till exempel Ă€r iperf2 flerdimensionellt, medan iperf3 Ă€r pĂ„ att implementera protokollet ActivityPub. endast med ett flöde.

Hardinfo

Detta Àr ett verktyg för att samla in information om hÄrdvara och operativsystem. Den visar data om enheternas prestanda pÄ: PCI, ISA PnP, USB, IDE, SCSI samt seriella och parallella portar. Men den kan ocksÄ anvÀndas som ett benchmarking- och övervakningsverktyg.

HardInfo erbjuder flera tester. Till exempel, CPU Blowfish — bedömer processorprestanda med hjĂ€lp av kryptografiska algoritmer för symmetrisk blockchiffer. Det finns CPU N-Queens — ett test frĂ„n kombinatorik. Systemet löser schackproblemet med att placera N drottningar pĂ„ en N x N brĂ€da. Det placerar figurerna sĂ„ att ingen av dem kan attackera de andra. Det bör ocksĂ„ nĂ€mnas FPU FFT — ett test för snabb berĂ€kning av den diskreta Fourier-transformen och FPU Raytracing — berĂ€kning av strĂ„lningsspĂ„rning vid rendering av 3D-scener.

Resultatet i de flesta tester ges i sekunder och, dĂ€rmed, ju mindre det Ă€r — desto bĂ€ttre. Alla rapporter visas i HTML- och txt-format.

Ursprungligen utvecklades verktyget inom ramen för projektet BerliOS. Det inkluderade en hostingplattform för applikationer med öppen kÀllkod (som SourceForge) och flera databaser för dokumentation och profiler av open source-utvecklare. BerliOS stÀngdes 2014 pÄ grund av otillrÀcklig finansiering. Idag utvecklas HardInfo genom insatser frÄn entusiaster i ett separat arkiv pÄ GitHub.

Det Àr vÀrt att notera att systemet ibland har buggar. Det Àr kÀnt om periodiskt förekommande segmenteringsfel, problem med visningen av USB-enheter och ett par andra.

ApacheBench

Ett verktyg för belastningstestning av HTTP-servrar. ApacheBench (AB) utvecklades för att testa Apache, men det kan fungera pÄ vilken annan server som helst. Verktyget Àr förinstallerat pÄ mÄnga Linux-distributioner.

Hur man testar serverprestanda: en samling av flera open source-benchmarkingverktyg
Foto — Victor Freitas — Unsplash

Verktyget "bomber" servrar med ett stort antal förfrÄgningar. För att köra det mÄste du ange följande kommando:

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

Det skickar hundra GET-förfrÄgningar (maximalt tio av dem kommer att skickas samtidigt) till testresursen. UtgÄngen visar den genomsnittliga tiden för att bearbeta förfrÄgningarna, den totala mÀngden överförda data, bandbredden och antalet fel.

Idag har verktyget samlat en stor gemenskap. Det dyker regelbundet upp fÀrska guider om hur man konfigurerar och anvÀnder ApacheBench.

Det Ă€r vĂ€rt att notera att AB har en motsvarighet — Apache jMeter, men med större möjligheter. Till exempel gör det det möjligt att generera förfrĂ„gningar frĂ„n flera datorer, medan processen kontrolleras frĂ„n en av dem. Programmet innehĂ„ller ocksĂ„ mekanismer för autentisering av virtuella anvĂ€ndare och stöder anvĂ€ndarsessioner. Detta verktyg anvĂ€nds av mĂ„nga IT-företag, inklusive molnleverantörer, till exempel Qualys.

Hur man testar serverprestanda: en samling av flera open source-benchmarkingverktygVi pĂ„ 1cloud erbjuder tjĂ€nsten ”Privat moln”. Detta Ă€r uthyrning av virtuell infrastruktur med möjlighet till snabb anpassning av resurserna. virtuella servrar.
Hur man testar serverprestanda: en samling av flera open source-benchmarkingverktygVÄrt moln Àr byggt pÄ hÄrdvara Cisco, Dell, NetApp. Utrustningen finns i flera datacenter: DataSpace (Moskva), SDN/Xelent (Sankt Petersburg), Ahost (Almaty).

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster