Inizia con JMeter per testare le prestazioni del tuo sito web
Pubblicato: 2022-05-10I siti Web lenti e con prestazioni inferiori non attireranno mai un pubblico. Oltre a ciò, anche se il tuo sito Web potrebbe funzionare alla velocità della luce durante i test, sai come si comporterà quando si verifica un improvviso aumento del traffico? O se la tua azienda ha avuto uno scatto di crescita che richiede integrazioni e funzionalità aggiuntive?
Quello che stai cercando è un modo per testare le prestazioni del tuo sito web in vari scenari. Ed è qui che interviene il test delle prestazioni. L'obiettivo principale del test delle prestazioni è assicurarsi che le prestazioni del sito Web siano quelle previste prima che venga rilasciato sul mercato. Aiuta a testare velocità, affidabilità, tempo di risposta e utilizzo delle risorse. Un fantastico strumento open source per tutti i test delle prestazioni è JMeter. Dai uno sguardo più approfondito a JMeter e scopri come implementare un test in questo articolo.

Perché il test delle prestazioni
L'obiettivo del test delle prestazioni non è trovare bug ma eliminare i problemi di prestazioni. Senza eseguire un test approfondito delle prestazioni, il sito Web potrebbe soffrire di problemi come il rallentamento mentre più utenti lo utilizzano contemporaneamente o scarsa usabilità. Uno dei motivi più significativi per i test delle prestazioni è evitare i tempi di inattività.
Sapevi che circa il 59% delle aziende di Fortune 500 ha circa 1,6 ore di inattività ogni settimana? Un fermo macchina di 5 minuti nel 2013 è costato a Google.com ben $ 545.000! Un'interruzione imprevista del servizio Web è costata ad Amazon una perdita di $ 1100 al secondo. Fonte.
Tutto ciò può essere evitato se un test delle prestazioni può simulare un carico pesante sui server, eseguire test funzionali, test delle applicazioni e test del protocollo.
Test delle prestazioni utilizzando JMeter
L'applicazione Apache JMeter è un software open source, un'applicazione puramente basata su Java, progettata per testare il carico o le prestazioni. È stato progettato per la prima volta da Stefano Mazzocchi della Apache Software Foundation. JMeter può simulare un carico pesante su un server creando tonnellate di utenti virtuali simultanei sul server web.
In che modo JMeter esegue i test
JMeter crea una richiesta e la invia al server. Una volta ricevuta la richiesta del server, le raccoglie e visualizza tali dettagli in un grafico o grafico. Quindi, elabora la richiesta del server e infine genera il risultato del test in diversi formati come testo, XML, JSON. Dai dati raccolti, gli utenti possono osservare il comportamento dell'applicazione e i colli di bottiglia delle prestazioni, offrendo informazioni su dove l'applicazione necessita di miglioramenti.
Perché JMeter
- Open source - JMeter è un software open source e può essere scaricato gratuitamente
- Indipendente dalla piattaforma : JMeter è sviluppato in Java, che è il linguaggio di programmazione più popolare al mondo. Pertanto, può essere eseguito su qualsiasi sistema operativo.
- Supporto multiprotocollo: JMeter non supporta solo il test delle applicazioni Web, ma valuta anche le prestazioni del server di database. Tutti i protocolli di base come HTTP, JDBC, LDAP, SOAP, JMS e FTP sono supportati da JMeter.
- Facile da usare - JMeter ha una GUI completa, che aiuta a creare piani di test e configurare gli elementi. Anche l'aggiunta di elementi è facile. Devi solo fare clic con il pulsante destro del mouse sul piano di test e aggiungere ciò che devi fare.
Elementi di JMeter
- Thread Group - Thread Group è una raccolta di thread. Ogni thread rappresenta un utente che utilizza l'AUT. Ogni thread imita una richiesta dell'utente reale al server.
- Campionatori - JMeter supporta il test di HTTP, FTP, JDBC e molti altri protocolli. I gruppi di thread simulano le richieste degli utenti al server. Aiuta il Thread Group a sapere che tipo di richieste (HTTP, FTP ecc.) deve fare.
- Ascoltatori - Gli ascoltatori facilitano agli spettatori la visualizzazione dei risultati dei campionatori sotto forma di tabelle, grafici, alberi o testo semplice in alcuni file di registro.
- Configurazione : gli elementi di configurazione in JMeter vengono utilizzati per configurare o modificare le richieste del campionatore inviate al server.
Come installare jmeter
C'è solo un prerequisito per scaricare e installare JMeter: avere Java installato nel tuo sistema.

- Scarica JMeter e installa da qui - https://jmeter.apache.org/download_jmeter.cgi
- Per avviare JMeter: cartella Apache jmeter > cartella bin > fare clic su jmeter.bat
Crea un piano di test
Passaggio 1: aggiungi un gruppo di thread
Vai su Aggiungi, quindi Thread (Utenti) e seleziona Utenti thread.


Opzioni
A. Azione da intraprendere in caso di errore
B. Numero di thread - N. di utenti
C. Periodo di accelerazione in secondi - Intervallo di tempo tra i colpi degli utenti
D. Conteggio loop: quante volte verrà eseguito il test per il numero di utenti
Passaggio 2: aggiungi richiesta HTTP
Fare clic con il pulsante destro del mouse sul gruppo Thread, aggiungere un campionatore e fare clic su Richiesta HTTP.
Opzioni
A. Aggiungi "Nome server"
B. Non fornire http o HTTPS poiché questi sono protocolli che arriveranno nell'altra casella e che verranno automaticamente presi nel caso di richiesta http.
C. Finestra di dialogo Percorso → aggiungi una barra.

Passaggio 3: aggiungi ascoltatore
Fare clic con il pulsante destro del mouse sul gruppo di thread, aggiungere un listener e fare clic su Visualizza risultato nella tabella.

Passaggio 4: esecuzione del test
Salvare il test e fare clic sul pulsante freccia verde.


È ora di analizzare il risultato
- Numero del campione - Il n. di thread o utenti. Nel rapporto verrà menzionato che "questo è il numero di esempio 1", il che significa che è il thread 1, quindi il thread numero 2 e così via.
- Ora di inizio: ora di inizio per ogni thread o utente
- Nome del thread - Il nome del thread è fondamentalmente il nome del gruppo di thread qui. Nel nome del gruppo di thread abbiamo questo numero 1-1, 1-2... quindi questo primo significa prima iterazione con il primo utente, prima iterazione con il secondo utente e così via.
- Etichetta : l'etichetta è il nome del campione o della richiesta.
- Tempo di campionamento - Quanto tempo ha richiesto questo campione (etichetta) in termini di am/s.
- Stato - Stato della richiesta.
- Byte : byte ricevuti
- Byte inviati - Byte inviati
- Latenza : una richiesta di tempo dall'utente/browser e il tempo di risposta. Risposta in termini di richiesta percorsa dal server al client/browser che non include il tempo di elaborazione del server. (solo tempo di richiesta e risposta)
- Tempo di connessione: il tempo di connessione è il tempo impiegato dall'applicazione per connettersi al server in millisecondi.
È importante sapere che la latenza e il tempo di connessione dovrebbero essere sempre bassi. Un tempo di connessione o una latenza più elevati implica che c'è un problema con le prestazioni del sito web.