Continuiamo la nostra serie di materiali dedicati al test delle prestazioni dei server. Oggi parleremo di alcuni benchmark collaudati e ancora mantenuti e aggiornati: NetPerf, HardInfo e ApacheBench.
Foto — — CC BY-SA
È uno strumento per valutare la larghezza di banda della rete. È stato sviluppato da ingegneri di Hewlett-Packard. Lo strumento ha due file eseguibili: netserver e netclient. Per eseguire il test, devono essere avviati su Macchine diverse. Di default, netperf utilizza la porta 12865, ma può essere sostituita tramite il flag -p. L'utilità funziona con TCP e UDP utilizzando BSD Sockets, DLPI, Unix Domain Sockets e IPv6.
Oggi netperf è parte della suite di strumenti di benchmarking . È utilizzato anche da un buon numero di aziende IT, . Ecco come appare la descrizione del servizio netperf in uno degli esempi per valutare le prestazioni di 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
Nel repository ufficiale si afferma che netperf è distribuito con una licenza speciale di Hewlett-Packard. Tuttavia, l'autore dello strumento, Rick Jones, sostiene che è conforme alle migliori tradizioni open source. Va inoltre notato che recentemente gli aggiornamenti per netperf sono stati rilasciati con rare frequenze. Questo potrebbe essere legato alla maturità del prodotto.
Netperf ha dei rivali, come ad esempio, e . Questi strumenti consentono anch'essi di testare la larghezza di banda della rete. Lo sviluppo di iperf3 è iniziato dopo che il repository di iperf2 è caduto in disuso. La nuova versione è stata scritta da zero e non è compatibile con la precedente implementazione, anche se contiene parte del suo codice. Curiosamente, dopo il rilascio di iperf3, il lavoro su iperf2 è ripreso. Alla fine, i due strumenti una funzionalità simile, ma allo stesso tempo diversa. Ad esempio, iperf2 è multithreaded, mentre iperf3 è con un solo thread.
È uno strumento per raccogliere informazioni sull'hardware e sul sistema operativo. Mostra dati sul funzionamento dei dispositivi su: PCI, ISA PnP, USB, IDE, SCSI, e anche sulle porte seriali e parallele. Tuttavia, può essere utilizzato anche come benchmark e strumento di monitoraggio.
HardInfo offre diversi test. Ad esempio, CPU Blowfish valuta le prestazioni del processore utilizzando algoritmi crittografici di cifratura simmetrica a blocchi. Ci sono — un test di combinatoria. Il sistema risolve il problema scacchistico di posizionare N regine su una scacchiera di dimensione N x N. Dispone i pezzi in modo che nessuno di essi possa attaccare gli altri. Vale la pena menzionare anche FPU FFT — un test per il calcolo rapido della trasformata discreta di Fourier e FPU Raytracing — calcolo della ray tracing durante il rendering di una scena 3D.
I risultati nella maggior parte dei test sono forniti in secondi e, di conseguenza, più è basso, meglio è. Tutti i rapporti sono mostrati nei formati HTML e txt.
Inizialmente, l'utilità è stata sviluppata nell'ambito del progetto . Includeva una piattaforma di hosting per applicazioni open source (come ) e diversi database per documentazione e profili di sviluppatori open source. BerliOS è stato chiuso nel 2014 a causa di finanziamenti insufficienti. Oggi HardInfo si sviluppa grazie agli sforzi di appassionati su GitHub.
Si segnala che nel funzionamento del sistema possono occasionalmente verificarsi bug. È noto che si verificano periodicamente , problemi con e diversi .
Strumento per il benchmarking dei server HTTP. ApacheBench (AB) è stato sviluppato per testare Apache, ma può funzionare su qualsiasi altro server. Lo strumento è preinstallato su molte distribuzioni Linux.

Foto — — Unsplash
L'utilità 'bombarda' i server con un gran numero di richieste. Per avviarla, è necessario digitare il seguente comando:
ab -n 100 -c 10 http://www.example.com/Invierà cento richieste GET (con un massimo di dieci inviate contemporaneamente) al livello di test. Il sistema mostrerà il tempo medio di elaborazione delle richieste, il volume totale di dati trasferiti, la larghezza di banda e il numero di errori.
Oggi attorno all'utilità si è formata una vasta comunità. Online appaiono regolarmente su come configurare e utilizzare ApacheBench.
Si noti che AB ha un analogo — , ma con molte più funzionalità. Ad esempio, consente di generare richieste da più computer, gestendo il processo da uno di essi. L'applicazione implementa anche meccanismi di autorizzazione per utenti virtuali e supporta sessioni personalizzate. Questo strumento è utilizzato da molte aziende IT, provider cloud, come .
Noi di 1cloud offriamo il servizio . Si tratta di un'agenzia di infrastruttura virtuale con possibilità di personalizzazione rapida del parco. .
Il nostro cloud Cisco, Dell, NetApp. L'attrezzatura si trova in diversi Data Center: DataSpace (Mosca), SDN/Xelent (San Pietroburgo), Ahost (Almaty).
Fonte: habr.com
