Kako testirati performanse poslužitelja: izbor nekoliko benchmarkova otvorenog koda

Nastavljamo našu seriju materijala posvećenih testiranju performansi poslužitelja. Danas ćemo govoriti o nekoliko vremenski testiranih benchmarkova koji su još uvijek podržani i ažurirani - NetPerf, HardInfo i ApacheBench.

Kako testirati performanse poslužitelja: izbor nekoliko benchmarkova otvorenog koda
Foto - Peter Balcerzak — CC BY SA

NetPerf

Ovo je alat za procjenu propusnosti mreže. Razvili su ga inženjeri Hewlett-Packarda. Alat uključuje dvije izvršne datoteke: netserver i netclient. Za izvođenje testa potrebno ih je pokrenuti na različitim strojevima. Prema zadanim postavkama, netperf koristi port 12865, ali to se može promijeniti pomoću oznake -p. Uslužni program radi s TCP i UDP preko BSD utičnica, DLPI, Unix domenskih utičnica i IPv6.

Danas je netperf uključen u alat za usporednu analizu bježao. Također ga koristi dosta velik broj IT tvrtki, na primjer Red Hat. Ovako izgleda opis netperf usluge u jednom od primjera za procjenu performansi OpenShift-a:

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

Službeni repozitorij kaže da se netperf distribuira pod posebnom licencom Hewlett-Packard. Međutim, autor uslužnog programa, Rick Jones, tvrdi da je dizajniran u najboljim tradicijama otvorenog koda. Također primjećujemo da su nedavno ažuriranja za netperf postala prilično rijetka. To može biti zbog zrelosti proizvoda.

netperf ima analoge - na primjer, iperf2 и iperf3. Također vam omogućuju testiranje propusnosti mreže. Razvoj iperf3 započeo je nakon što je iperf2 repozitorij propao. Nova verzija je napisana od nule i nekompatibilna je s prethodnom implementacijom, iako sadrži dio svog koda. Zanimljivo, nakon izlaska iperf3, rad na iperf2 ponovno je počeo kuhati. Kao rezultat, dva alata posjedovati slične, ali u isto vrijeme različite funkcionalnosti. Na primjer, iperf2 je multi-threaded, a iperf3 jest djela sa samo jednom niti.

čvrste informacije

Ovo je uslužni program za prikupljanje informacija o hardveru i operativnom sustavu. Prikazuje podatke o radu uređaja na: PCI, ISA PnP, USB, IDE, SCSI, kao i serijskim i paralelnim portovima. Ali može se koristiti kao mjerilo i alat za praćenje.

HardInfo nudi nekoliko testova. Na primjer, CPU Blowfish procjenjuje performanse procesora pomoću kriptografskih algoritama za blok simetričnu enkripciju. Jesti CPU N-kraljice - test iz kombinatorike. Sustav rješava šahovski problem postavljanja N kraljica na ploču od N x N polja. Ona raspoređuje dijelove tako da nitko od njih ne može napasti druge. Također vrijedi spomenuti FPU FFT - test za brzi izračun diskretne Fourierove transformacije i FPU Raytracing - izračun praćenja zraka prilikom renderiranja 3D scene.

Rezultat u većini testova daje se u sekundama i, prema tome, što je manji, to bolji. Sva izvješća prikazuju se u HTML i txt formatima.

U početku je uslužni program razvijen kao dio projekta BerliOS. Uključuje platformu za hosting za aplikacije otvorenog koda (kao što je SourceForge) i nekoliko baza podataka za dokumentaciju i profile programera otvorenog koda. BerliOS je zatvoren 2014. godine zbog nedovoljnog financiranja. Danas se HardInfo razvija zahvaljujući naporima entuzijasta u posebnom spremištu na GitHubu.

Imajte na umu da sustav ponekad nailazi na pogreške. Poznato je da se povremeno javljaju Greška segmentacije, problemi sa prikaz USB uređaja i nekoliko drugi.

ApacheBench

Alat za testiranje opterećenja HTTP poslužitelja. ApacheBench (AB) dizajniran je za usporedbu Apachea, ali može raditi na bilo kojem drugom poslužitelju. Alat dolazi unaprijed instaliran na mnogim distribucijama Linuxa.

Kako testirati performanse poslužitelja: izbor nekoliko benchmarkova otvorenog koda
Foto - Victor Freitas — Neprskati

Uslužni program bombardira poslužitelje s velikim brojem zahtjeva. Za pokretanje morate unijeti sljedeću naredbu:

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

Poslat će stotinu GET zahtjeva (najviše deset njih bit će poslano u isto vrijeme) testnom resursu. Na izlazu će sustav pokazati prosječno vrijeme obrade zahtjeva, ukupnu količinu prenesenih podataka, propusnost i broj pogrešaka.

Danas se oko komunalnog poduzeća okupila velika zajednica. Redovito se pojavljuju na internetu najnoviji vodiči o tome kako postaviti i koristiti ApacheBench.

Imajte na umu da AB ima analog - Apache jMeter, ali s velikim mogućnostima. Na primjer, omogućuje vam generiranje zahtjeva s više računala dok procesom upravljate s jednog od njih. Program također implementira mehanizme za autorizaciju virtualnih korisnika i podržava korisničke sesije. Ovaj alat koriste mnoge IT tvrtke, uključujući pružatelji usluga u oblaku, npr. Kvalis.

Kako testirati performanse poslužitelja: izbor nekoliko benchmarkova otvorenog kodaMi u 1cloudu pružamo uslugu "Privatni oblak". Ovo je najam virtualne infrastrukture s mogućnošću brze prilagodbe voznog parka virtualni poslužitelji.
Kako testirati performanse poslužitelja: izbor nekoliko benchmarkova otvorenog kodaNaš oblak izgrađen na željezu Cisco, Dell, NetApp. Oprema se nalazi u nekoliko podatkovnih centara: DataSpace (Moskva), SDN/Xelent (St. Petersburg), Ahost (Alma-Ata).

Izvor: www.habr.com

Dodajte komentar