Continuiamo la nostra serie di articoli dedicati al testing delle performance dei server. Oggi parleremo di un paio di benchmark collaudati nel tempo, che sono ancora supportati e aggiornati: NetPerf, HardInfo e ApacheBench.
Foto — — CC BY-SA
Questo è uno strumento per valutare la larghezza di banda della rete. È stato sviluppato da ingegneri di Hewlett-Packard. Lo strumento comprende due file eseguibili: netserver e netclient. Per eseguire il test, devono essere avviati su macchine diverse. Per impostazione predefinita, netperf utilizza la porta 12865, ma può essere sostituita utilizzando l'opzione -p. L'utilità funziona con TCP e UDP tramite BSD Sockets, DLPI, Unix Domain Sockets e IPv6.
Oggi netperf fa parte di un insieme di strumenti per il benchmarking . Inoltre, è utilizzato da un numero considerevole di aziende IT, . Ecco come appare la descrizione del servizio netperf in uno degli esempi per valutare le performance 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 sotto una licenza speciale di Hewlett-Packard. Tuttavia, l'autore dell'utilità, Rick Jones, afferma che è conforme alle migliori tradizioni dell'open source. Va notato che negli ultimi tempi gli aggiornamenti per netperf sono diventati piuttosto rari. Questo potrebbe essere dovuto alla maturità del prodotto.
Netperf ha analoghi, come e . Anche questi consentono 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 ed è incompatibile con la precedente implementazione, anche se contiene parte del suo codice. È interessante notare che, dopo il rilascio di iperf3, i lavori su iperf2 sono ripresi. Alla fine, i due strumenti funzionalità simili, ma allo stesso tempo diverse. Ad esempio, iperf2 è multi-threaded, mentre iperf3 è single-threaded.
È uno strumento per raccogliere informazioni sull'hardware e sul sistema operativo. Mostra dati sulle performance dei dispositivi su: PCI, ISA PnP, USB, IDE, SCSI, e anche porte seriali e parallele. 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 degli scacchi della sistemazione di N regine su una scacchiera N x N. Posiziona i pezzi in modo che nessuno di essi possa attaccare gli altri. Vale anche la pena notare FPU FFT — un test per il calcolo veloce della trasformata discreta di Fourier e FPU Raytracing — il calcolo del ray tracing durante il rendering di una scena 3D.
Il risultato nella maggior parte dei test è espresso in secondi e, di conseguenza, più è basso — meglio è. Tutti i report 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 la documentazione e i profili degli 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 si possono occasionalmente riscontrare bug. È nota una , problemi con e alcuni .
Uno strumento per il test di carico 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 inserire il seguente comando:
ab -n 100 -c 10 http://www.example.com/Invierà cento richieste GET (con un massimo simultaneo di dieci) alla risorsa di test. In uscita, il sistema mostrerà il tempo medio di elaborazione delle richieste, il volume totale dei dati trasmessi, la larghezza di banda e il numero di errori.
Oggi attorno all'utilità si è raccolta un'ampia comunità. In rete compaiono regolarmente su come configurare e utilizzare ApacheBench.
Si segnala che AB ha un analogo — , ma con maggiori possibilità. Ad esempio, consente di generare richieste da più computer, gestendo il processo da uno di essi. Inoltre, il programma implementa meccanismi di autorizzazione per utenti virtuali e supporta sessioni utente. Questo strumento è utilizzato da molte aziende IT, i fornitori di servizi cloud, ad esempio .
Noi di 1cloud offriamo il servizio . Si tratta di un noleggio di infrastruttura virtuale con la possibilità di una rapida personalizzazione 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
