Come testare le prestazioni dei server: una selezione di diversi benchmark open source

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.

Come testare le prestazioni dei server: una selezione di diversi benchmark open source
Foto — Peter Balcerzak — CC BY-SA

NetPerf

Questo è uno strumento per valutare la larghezza di banda della rete. È stato sviluppato da ingegneri di Hewlett-Packard. Lo strumento include 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 Flent. Inoltre, è utilizzato da un numero considerevole di aziende IT, come Red Hat. 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 iperf2 e iperf3. 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 offrono funzionalità simili, ma allo stesso tempo diverse. Ad esempio, iperf2 è multi-threaded, mentre iperf3 è sulla tecnologia Dac. Il sistema monitora lo stato dell'hardware tramite sensori installati nella sala macchine. Essi analizzano le frequenze ultrasoniche e le vibrazioni del pavimento. single-threaded.

Hardinfo

È 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 CPU N-Queens — 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 BerliOS. Includeva una piattaforma di hosting per applicazioni open source (come SourceForge) 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 in un repository separato su GitHub.

Si segnala che nel funzionamento del sistema si possono occasionalmente riscontrare bug. È nota una errore di segmentazione, problemi con la visualizzazione dei dispositivi USB e alcuni altri.

ApacheBench

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.

Come testare le prestazioni dei server: una selezione di diversi benchmark open source
Foto — Victor Freitas — 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 nuove guide su come configurare e utilizzare ApacheBench.

Si segnala che AB ha un analogo — Apache jMeter, 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, inclusi i fornitori di servizi cloud, ad esempio Qualys.

Come testare le prestazioni dei server: una selezione di diversi benchmark open sourceNoi di 1cloud offriamo il servizio «Cloud Privato». Si tratta di un noleggio di infrastruttura virtuale con la possibilità di una rapida personalizzazione del parco server virtuali.
Come testare le prestazioni dei server: una selezione di diversi benchmark open sourceIl nostro cloud è costruito su hardware Cisco, Dell, NetApp. L'attrezzatura si trova in diversi Data Center: DataSpace (Mosca), SDN/Xelent (San Pietroburgo), Ahost (Almaty).

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster