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.
Fotografie — — CC BY-SA
Acesta este un instrument pentru evaluarea lățimii de bandă a rețelei. A fost dezvoltat de inginerii de la Hewlett-Packard. Instrumentul 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 . De asemenea, este utilizat de un număr considerabil de companii IT, . 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, și . 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 funcționalitate similară, dar în același timp diferită. De exemplu, iperf2 este multi-threaded, iar iperf3 este doar cu un singur fir.
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ă — 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 . Acesta includea o platformă de hosting pentru aplicații cu sursă deschisă (precum ) ș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 pe GitHub.
Să notăm că în funcționarea sistemului apar uneori erori. Există cunoștințe despre erori de segmentare , probleme cu și câteva .
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.

Fotografie — — 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 despre cum să configurăm și să folosim ApacheBench.
Merită menționat că AB are un echivalent — , 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, provideri de cloud, de exemplu .
Noi, la 1cloud, oferim serviciul . Aceasta reprezintă închirierea unei infrastructuri virtuale cu posibilitatea de personalizare rapidă a parcului .
Cloud-ul nostru Cisco, Dell, NetApp. Echipamentele sunt amplasate în mai multe centre de date: DataSpace (Moscova), SDN/Xelent (Sankt Petersburg), Ahost (Almaty).
Sursa: habr.com
