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

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.

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

NetPerf

È uno strumento per valutare la larghezza di banda della rete. È stato sviluppato da ingegneri di Hewlett-Packard. Lo strumento include 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 Flent. È utilizzato anche da un buon numero di aziende IT, come Red Hat. 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, iperf2 e iperf3. 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 possiedono una funzionalità simile, ma allo stesso tempo diversa. Ad esempio, iperf2 è multithreaded, mentre iperf3 è lavorando con un solo thread.

Hardinfo

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

Si segnala che nel funzionamento del sistema possono occasionalmente verificarsi bug. È noto che si verificano periodicamente errore di segmentazione, problemi con la visualizzazione dei dispositivi USB e diversi altri.

ApacheBench

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.

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 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 nuove guide su come configurare e utilizzare ApacheBench.

Si noti che AB ha un analogo — Apache jMeter, 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, tra cui provider cloud, come 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'agenzia di infrastruttura virtuale con possibilità di personalizzazione rapida 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