Home
» AMMINISTRAZIONE DI RETE
»
Gli 8 migliori strumenti per testare le prestazioni e il carico di reti e applicazioni
Gli 8 migliori strumenti per testare le prestazioni e il carico di reti e applicazioni
Gli strumenti più adatti per i test di prestazioni e carico dipendono da ciò che si desidera misurare. Un test di collegamento, il traffico WAN generato e gli utenti API simulati rispondono a domande diverse. Per le reti, è necessario misurare throughput, latenza, perdita di pacchetti e jitter; per le applicazioni, è importante monitorare il tempo di risposta, la frequenza delle richieste e gli errori all'aumentare del carico.
Eseguite il test in un ambiente controllato e autorizzato: il traffico generato può degradare il servizio. Registrate la configurazione del test, il percorso e il traffico concorrente in modo da poter interpretare il risultato.
Un percorso di test di rete concettuale con misurazioni di throughput e latenza.
Scegli uno strumento per il livello che stai testando
La velocità di trasmissione (throughput) si riferisce ai dati trasmessi nel tempo e si differenzia dalla larghezza di banda nominale di un collegamento. La latenza misura il tempo di transito o di risposta, mentre il jitter indica la variazione del ritardo dei pacchetti. I generatori di traffico creano carico, ma non misurano il comportamento delle applicazioni. Gli strumenti di analisi del carico web modellano le richieste, non il traffico Ethernet grezzo.
Otto strumenti per test di prestazioni e carico
1. iPerf3: misura la velocità di trasmissione della rete IP
iPerf3 è uno strumento gratuito da riga di comando gestito da ESnet presso il Lawrence Berkeley National Laboratory. Eseguendo un server su un endpoint e un client sull'altro, è possibile misurare la larghezza di banda IP raggiungibile. È possibile configurare la durata, i flussi paralleli e il protocollo TCP o UDP; i risultati includono il throughput e la perdita di pacchetti UDP. Rappresenta un valido strumento di verifica iniziale per una rete LAN, VPN o WAN, ma non simula le sessioni delle applicazioni o la velocità del disco.
2. Test di velocità LAN: verifica le prestazioni del trasferimento file
LAN Speed Test misura i trasferimenti verso una cartella condivisa, il che rende il risultato facilmente confrontabile con la copia di file su un NAS. Questo test include l'overhead di archiviazione e condivisione file, oltre a quello di rete. Totusoft offre anche LAN Speed Test Server, che può eseguire test tra le memorie dei computer per ridurre i colli di bottiglia del disco. Il fornitore attualmente elenca la versione 4.4 per Windows e macOS; la sua modalità Lite è funzionante, con alcune funzionalità avanzate disabilitate.
3. SolarWinds WAN Killer: genera traffico WAN controllato
WAN Killer , parte di SolarWinds Engineer's Toolset per desktop, genera traffico casuale verso una destinazione selezionata. È possibile impostare il protocollo, la porta, la dimensione dei pacchetti, la larghezza di banda del circuito e la percentuale di carico. Questo strumento è utile per testare il comportamento del collegamento o la prioritizzazione del traffico sotto pressione; per misurare l'impatto, è necessario utilizzare un monitor separato. Questo componente per Windows non rappresenta un test utente end-to-end.
4. Ostinato: creazione di profili di traffico a livello di pacchetto
Ostinato offre un controller grafico e agenti di generazione del traffico per la creazione di flussi multipli di livello 2 e livello 3, la riproduzione di acquisizioni di pacchetti e la variazione delle velocità di invio. È utile per la convalida di dispositivi di rete, la gestione dei protocolli e mix di traffico personalizzati. Il set di funzionalità varia a seconda della licenza e il fornitore precisa che le connessioni TCP con stato non sono supportate, pertanto è consigliabile utilizzare un altro strumento quando il test si basa su sessioni applicative TCP realistiche.
5. Cisco TRex: test di stress su larga scala dei dispositivi di rete
Cisco TRex è un generatore di traffico open-source basato su DPDK, con modalità stateless e stateful. È pensato per gli ingegneri che testano router, firewall e altre apparecchiature di rete con profili di traffico ad alto volume. La configurazione è più complessa rispetto a quella di un'utility di throughput, quindi TRex si presta meglio a un laboratorio dedicato con hardware compatibile e un piano di test ben definito.
Un test di carico concettuale per le applicazioni: la domanda simulata raggiunge un servizio mentre vengono monitorati i risultati chiave.
6. Apache JMeter: test di carico dei servizi su protocolli comuni
Apache JMeter è un'applicazione di test open source per servizi web, API, database, messaggistica e altro ancora. I suoi piani di test possono modellare richieste, dati, asserzioni e concorrenza degli utenti. JMeter opera a livello di protocollo; non esegue JavaScript come un browser. Apache consiglia di eseguire i test di carico in modalità riga di comando piuttosto che eseguire un test impegnativo tramite l'interfaccia grafica, per poi analizzare i risultati generati.
7. Grafana k6: carichi di lavoro e limiti di prestazioni dell'API script
Grafana k6 è uno strumento di test delle prestazioni basato sul codice che definisce richieste, scenari e soglie tramite script JavaScript. Gli scenari modellano diversi modelli di carico, mentre le soglie trasformano metriche come la durata della richiesta in criteri di superamento/fallimento eseguibili in un ambiente di integrazione continua (CI). Scegli k6 quando i piani di test devono essere integrati con il codice dell'applicazione e desideri controlli ripetibili. Verifica che lo script rappresenti il comportamento reale dell'utente prima di considerarne i risultati come previsioni per la produzione.
8. Wireshark: ispeziona cosa è successo sul cavo
Wireshark cattura e analizza i pacchetti; non genera carico né fornisce un benchmark autonomo. Abbinalo a iPerf3, a un generatore di traffico o a un test applicativo per ispezionare le ritrasmissioni, gli scambi di protocollo e la temporizzazione dei pacchetti. I filtri di cattura limitano ciò che viene registrato, mentre i filtri di visualizzazione restringono ciò che puoi vedere dopo la cattura. Scegli l'interfaccia di rete e il punto di cattura corretti e ricorda che potresti aver bisogno di privilegi elevati per la cattura in tempo reale.
Una rappresentazione concettuale dell'acquisizione dei pacchetti per esaminare il traffico generato durante un test.
Scelte rapide
Misura la velocità di trasmissione del collegamento: inizia con iPerf3; usa LAN Speed Test quando la domanda riguarda le prestazioni di copia dei file.
Genera traffico di rete: utilizza WAN Killer per un carico controllato e semplice, oppure Ostinato e TRex per profili di pacchetto personalizzati.
Eseguire test di carico su un'applicazione o un'API: confrontare l'approccio visivo di JMeter basato su piani di test con gli script di k6 che privilegiano l'approccio code-first.
Analizza i sintomi: acquisisci i dati con Wireshark durante l'esecuzione di un test ripetibile.
Per ottenere risultati comparabili, registrare gli endpoint, la durata, il protocollo e il traffico simultaneo. Ripetere lo stesso scenario dopo una modifica, monitorando la saturazione della rete, del server, dello storage o dei client.