Cum să testezi performanța serverelor: o selecție de mai multe benchmark-uri open source

Continuăm seria noastră de materiale dedicate testării performanței serverelor. Astăzi vom discuta despre câteva benchmark-uri de încredere, care continuă să fie susținute și actualizate — NetPerf, HardInfo și ApacheBench.

Cum să testezi performanța serverelor: o selecție de mai multe benchmark-uri open source
Fotografie — Peter Balcerzak — CC BY-SA

NetPerf

Acesta este un instrument pentru evaluarea lățimii de bandă a rețelei. A fost dezvoltat de inginerii de la Hewlett-Packard. Instrumentul include are două fișiere executabile: netserver și netclient. Pentru a efectua testul, trebuie să le rulați pe mașini diferite. În mod implicit, netperf folosește portul 12865, dar acesta poate fi schimbat cu ajutorul flag-ului -p. Utilitarul funcționează cu TCP și UDP prin BSD Sockets, DLPI, Unix Domain Sockets și IPv6.

Astăzi, netperf face parte din setul de instrumente pentru benchmarking Flent. De asemenea, este utilizat de un număr considerabil de companii IT, de exemplu, Red Hat. Iată cum arată descrierea serviciului netperf într-unul dintre exemplele pentru evaluarea performanței 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

În depozitul oficial se menționează că netperf este distribuit sub o licență specială de la Hewlett-Packard. Cu toate acestea, autorul utilitarului — Rick Jones — afirmă că acesta este conceput în cele mai bune tradiții ale open source. De asemenea, merită menționat că, în ultima perioadă, actualizările pentru netperf au început să apară destul de rar. Probabil, acest lucru este legat de maturitatea produsului.

Netperf are analogi — de exemplu, iperf2 și iperf3. Acestea permit de asemenea testarea lățimii de bandă a rețelei. Dezvoltarea iperf3 a început după ce depozitul iperf2 a intrat în declin. Noua versiune este scrisă de la zero și nu este compatibilă cu implementarea anterioară, deși conține o parte din codul ei. Ce este interesant, după lansarea iperf3, activitatea asupra iperf2 a reînceput. În cele din urmă, cele două instrumente dispun de funcționalitate similară, dar în același timp diferită. De exemplu, iperf2 este multi-threaded, iar iperf3 este lucrează doar cu un singur fir.

Hardinfo

Este un utilitar pentru colectarea informațiilor despre hardware și sistemul de operare. Acesta afișează date despre funcționarea dispozitivelor pe: PCI, ISA PnP, USB, IDE, SCSI, precum și pe porți seriale și paralele. Dar poate fi folosit și ca benchmark și instrument de monitorizare.

HardInfo oferă câteva teste. De exemplu, CPU Blowfish evaluează performanța procesorului prin algoritmi criptografici de criptare simetrică bazată pe blocuri. Există CPU N-Queens — un test din combinatorică. Sistemul rezolvă problema plasării a N regine pe o tablă N x N de pătrate. El așează piesele astfel încât niciuna dintre ele să nu poată ataca celelalte. De asemenea, merită menționat FPU FFT — un test pentru calculul rapid al transformării Fourier discrete și FPU Raytracing — calculul ray tracing-ului în timpul randării unei scene 3D.

Rezultatul în majoritatea testelor se oferă în secunde și, prin urmare, cu cât acesta este mai mic, cu atât mai bine. Toate rapoartele sunt prezentate în formate HTML și txt.

Inițial, utilitarul a fost dezvoltat în cadrul proiectului BerliOS. Acesta includea o platformă de hosting pentru aplicații cu sursă deschisă (precum SourceForge) și câteva baze de date pentru documentație și profiluri de dezvoltatori open source. BerliOS a fost închis în 2014 din cauza lipsei de finanțare. Astăzi, HardInfo se dezvoltă prin eforturile entuziaștilor într-un depozit separat pe GitHub.

Să notăm că în funcționarea sistemului apar uneori erori. Există cunoștințe despre erori de segmentare ocazionale, probleme cu afișarea dispozitivelor USB și câteva altele.

ApacheBench

Un instrument pentru testarea de încărcare a serverelor HTTP. ApacheBench (AB) a fost dezvoltat pentru testarea Apache, dar poate funcționa pe orice alt server. Instrumentul este preinstalat pe multe distribuții Linux.

Cum să testezi performanța serverelor: o selecție de mai multe benchmark-uri open source
Fotografie — Victor Freitas — Unsplash

Utilitarul "bombardierează" serverele cu un număr mare de cereri. Pentru a rula, trebuie introdusă următoarea comandă:

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

Aceasta va trimite o sută de cereri GET (subliniind că vor fi trimise simultan maximum zece dintre ele) către resursa de testare. La ieșire, sistemul va afișa timpul mediu de procesare a cererilor, volumul total de date transmise, lățimea de bandă și numărul de erori.

Astăzi, în jurul utilitarului s-a adunat o comunitate extinsă. Online apar regulat ghiduri noi despre cum să configurăm și să folosim ApacheBench.

Merită menționat că AB are un echivalent — Apache jMeter, dar cu funcționalități extinse. De exemplu, permite generarea de solicitări de pe mai multe computere, gestionând procesul de pe unul dintre acestea. De asemenea, programul include mecanisme de autorizare pentru utilizatori virtuali, susține sesiuni personalizate. Acest instrument este folosit de multe companii IT, inclusiv provideri de cloud, de exemplu Qualys.

Cum să testezi performanța serverelor: o selecție de mai multe benchmark-uri open sourceNoi, la 1cloud, oferim serviciul „Cloud Privat”. Aceasta reprezintă închirierea unei infrastructuri virtuale cu posibilitatea de personalizare rapidă a parcului servere virtuale.
Cum să testezi performanța serverelor: o selecție de mai multe benchmark-uri open sourceCloud-ul nostru este construit pe hardware-ul Cisco, Dell, NetApp. Echipamentele sunt amplasate în mai multe centre de date: DataSpace (Moscova), SDN/Xelent (Sankt Petersburg), Ahost (Almaty).

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster