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

Continuiamo la nostra serie di materiali dedicati al test delle prestazioni del 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 del server: una selezione di diversi benchmark open source
Фото - Pietro Balcerzak — CC BY-SA

NetPerf

Questo è uno strumento per valutare il throughput della rete. È stato sviluppato dagli ingegneri di Hewlett-Packard. Attrezzo include due file eseguibili: netserver e netclient. Per eseguire il test, devono essere eseguiti su macchine diverse. Per impostazione predefinita, netperf utilizza la porta 12865, ma questa può essere modificata utilizzando il flag -p. L'utilità funziona con TCP e UDP su socket BSD, DLPI, Unix Domain Sockets e IPv6.

Oggi netperf è incluso nel toolkit di benchmarking Flento. Viene utilizzato anche da un gran numero di aziende IT, per esempio Cappello Rosso. 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

Il repository ufficiale afferma che netperf è distribuito con una licenza speciale Hewlett-Packard. Tuttavia, l'autore dell'utilità, Rick Jones, afferma che è progettata secondo le migliori tradizioni dell'open source. Notiamo anche che recentemente gli aggiornamenti per netperf sono diventati piuttosto rari. Ciò potrebbe essere dovuto alla maturità del prodotto.

netperf ha analoghi, ad esempio iperf2 и iperf3. Ti consentono inoltre di testare il throughput della tua rete. Lo sviluppo di iperf3 è iniziato dopo che il repository iperf2 è caduto in rovina. La nuova versione è scritta da zero ed è incompatibile con l'implementazione precedente, sebbene contenga parte del suo codice. È interessante notare che, dopo il rilascio di iperf3, il lavoro su iperf2 ha ripreso a ribollire. Di conseguenza, due strumenti possedere funzionalità simili, ma allo stesso tempo diverse. Ad esempio, iperf2 è multi-thread e iperf3 lo è fabbrica con un solo filo.

informazioni difficili

Questa è un'utilità per raccogliere informazioni sull'hardware e sul sistema operativo. Visualizza i dati sul funzionamento dei dispositivi su: PCI, ISA PnP, USB, IDE, SCSI, nonché porte seriali e parallele. Ma può essere utilizzato come punto di riferimento e strumento di monitoraggio.

HardInfo offre diversi test. Ad esempio, CPU Blowfish valuta le prestazioni del processore utilizzando algoritmi crittografici per la crittografia simmetrica a blocchi. Mangiare CPU N-regine - test dalla combinatoria. Il sistema risolve il problema degli scacchi di posizionare N regine su una scacchiera di N x N caselle. Dispone i pezzi in modo che nessuno possa attaccare gli altri. Da segnalare anche FPU FFT - un test per il calcolo rapido della trasformata discreta di Fourier e FPU Raytracing - calcolo del ray tracing durante il rendering di una scena 3D.

Nella maggior parte dei test il risultato viene espresso in secondi e, di conseguenza, quanto più piccolo è, tanto meglio. Tutti i report vengono visualizzati nei formati HTML e txt.

Inizialmente, l'utilità è stata sviluppata come parte del progetto Berlios. Comprendeva 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 fondi insufficienti. Oggi HardInfo viene sviluppato grazie agli sforzi degli appassionati in un archivio separato su GitHub.

Tieni presente che il sistema a volte incontra dei bug. È noto che si verificano periodicamente errore di segmentazione, problemi con visualizzazione dei dispositivi USB e diversi altro.

Apache Bench

Uno strumento per testare il carico dei server HTTP. ApacheBench (AB) è stato progettato per eseguire il benchmark di Apache, ma può essere eseguito su qualsiasi altro server. Lo strumento è preinstallato su molte distribuzioni Linux.

Come testare le prestazioni del server: una selezione di diversi benchmark open source
Фото - Vittorio Freitas — Spruzza

L'utilità bombarda i server con un gran numero di richieste. Per eseguirlo è necessario inserire il seguente comando:

ab -n 100 -c 10 http://www.example.com/

Invierà cento richieste GET (ne verranno inviate un massimo di dieci contemporaneamente) alla risorsa di test. In uscita, il sistema mostrerà il tempo medio di elaborazione della richiesta, la quantità totale di dati trasferiti, il throughput e il numero di errori.

Oggi attorno a questa utility si è raccolta una grande comunità. Appaiono regolarmente su Internet ultime guide su come configurare e utilizzare ApacheBench.

Nota che AB ha un analogo - Apache jMeter, ma con grandi possibilità. Ad esempio, consente di generare richieste da più computer gestendo il processo da uno di essi. Il programma implementa anche meccanismi per autorizzare gli utenti virtuali e supporta le sessioni utente. Questo strumento è utilizzato da molte aziende IT, compresi fornitori di servizi cloud, ad es. Qualys.

Come testare le prestazioni del server: una selezione di diversi benchmark open sourceNoi di 1cloud forniamo un servizio "Nuvola privata". Si tratta di un noleggio di infrastrutture virtuali con la possibilità di personalizzare rapidamente la flotta Server virtuali.
Come testare le prestazioni del server: una selezione di diversi benchmark open sourceLa nostra nuvola costruito in ferro Cisco, Dell, NetApp. Le apparecchiature si trovano in diversi data center: DataSpace (Mosca), SDN/Xelent (San Pietroburgo), Ahost (Alma-Ata).

Fonte: habr.com

Aggiungi un commento