Come utilizzare JMeter per le prestazioni e Test di carico

Sommario:

Anonim

Test di carico JMeter

JMeter Load Testing è un processo di test eseguito utilizzando uno strumento di test di carico denominato Apache JMeter, un'applicazione desktop open source basata su Java. JMeter per il test di carico è uno strumento cruciale che determina se l'applicazione web sotto test può soddisfare o meno requisiti di carico elevato. Aiuta anche ad analizzare il server generale sotto carico pesante.

Test delle prestazioni di JMeter

JMeter Performance Testing è un metodo di test eseguito utilizzando Apache JMeter per testare le prestazioni di un'applicazione web. JMeter per il test delle prestazioni aiuta a testare le risorse statiche e dinamiche, aiuta a scoprire utenti simultanei sul sito Web e fornisce una varietà di analisi grafiche per i test delle prestazioni. Il test delle prestazioni di JMeter include il test di carico e lo stress test dell'applicazione web.

Lo strumento di test Apache JMeter offre i seguenti vantaggi nel test delle prestazioni

  • JMeter può essere utilizzato per testare le prestazioni sia di risorse statiche come JavaScript e HTML, sia di risorse dinamiche , come JSP, Servlet e AJAX.
  • JMeter può scoprire il numero massimo di utenti simultanei che il tuo sito web può gestire
  • JMeter fornisce una varietà di analisi grafiche dei rapporti sulle prestazioni.

JMeter Performance Testing include:

  • Test di carico : modellazione dell'utilizzo previsto simulando l'accesso simultaneo di più utenti ai servizi Web.
  • Stress Test: ogni server web ha una capacità di carico massima. Quando il carico supera il limite, il server web inizia a rispondere lentamente e produce errori. Lo scopo dello stress test è trovare il carico massimo che il server web può sopportare.

La figura seguente mostra come JMeter Load Testing simula il carico pesante:

Crea un piano di test delle prestazioni in JMeter

In questo tutorial, stiamo effettuando un'analisi delle prestazioni di Google.com per 1000 utenti

Prima di testare le prestazioni dell'applicazione web di destinazione, dovremmo determinare-

  • Carico normale : numero medio di utenti che visitano il tuo sito web
  • Carico pesante : il numero massimo di utenti che visitano il tuo sito web
  • Qual è il tuo obiettivo in questo test?

Ecco la tabella di marcia di questo esempio pratico

Passaggio 1) Aggiungi gruppo di thread

  1. Avvia JMeter
  2. Seleziona Piano di test sulla struttura ad albero
  3. Aggiungi gruppo thread

Fare clic con il tasto destro su "Test Plan" e aggiungere un nuovo gruppo thread: Aggiungi -> Thread (utenti) -> Gruppo thread

Nel pannello di controllo del gruppo di thread, immettere le proprietà del thread come segue:

  • Numero di thread : 100 (il numero di utenti si connette al sito Web di destinazione: 100)
  • Conteggio loop : 10 (numero di volte per eseguire il test)
  • Periodo di accelerazione : 100

Il numero di thread e il numero di loop sono diversi.

Ramp-Up Period dice a JMeter quanto tempo ritardare prima di avviare l'utente successivo. Ad esempio, se abbiamo 100 utenti e un periodo di accelerazione di 100 secondi, il ritardo tra l'avvio degli utenti sarà di 1 secondo (100 secondi / 100 utenti)

Passaggio 2) Aggiunta di elementi JMeter

Ora determiniamo quali elementi JMeter in questo test. Gli elementi sono

  • Richiesta HTTP predefinita

Questo elemento può essere aggiunto facendo clic con il pulsante destro del mouse sul gruppo di thread e selezionando: Aggiungi -> Elemento di configurazione -> Impostazioni predefinite della richiesta HTTP.

Nel pannello di controllo Impostazioni predefinite richieste HTTP, inserisci il nome del sito web sottoposto a test (http://www.google.com)

  • Richiesta HTTP

Fare clic con il pulsante destro del mouse su Gruppo thread e selezionare: Aggiungi -> Campionatore -> Richiesta HTTP .

Nel pannello di controllo delle richieste HTTP, il campo Percorso indica quale richiesta URL desideri inviare al server di Google.

Ad esempio, se inserisci "calendario" nel campo Percorso. JMeter creerà la richiesta URL http://www.google.com/calendar al server di Google

Se mantieni vuoto il campo Path, JMeter creerà la richiesta dell'URL http://www.google.com al server di Google.

In questo test, mantieni vuoto il campo Path per fare in modo che JMeter crei la richiesta URL http://www.google.com al server di Google.

Passaggio 3) Aggiunta del risultato del grafico

JMeter può mostrare il risultato del test in formato grafico.

Fare clic con il pulsante destro del mouse su Piano di prova, Aggiungi -> Ascoltatore -> Risultati grafico

Passaggio 4) Esegui il test e ottieni il risultato del test

Premere il pulsante Esegui (Ctrl + R) sulla barra degli strumenti per avviare il processo di test del software. Vedrai la visualizzazione dei risultati del test sul grafico in tempo reale.

L'immagine sotto presenta un grafico di un piano di test, dove abbiamo simulato 100 utenti che hanno effettuato l'accesso sul sito www.google.com.

Nella parte inferiore dell'immagine, ci sono le seguenti statistiche, rappresentate a colori:

  • Nero: il numero totale di campioni correnti inviati.
  • Blu: la media corrente di tutti i campioni inviati.
  • Rosso: l'attuale deviazione standard.
  • Verde: velocità di trasmissione che rappresenta il numero di richieste al minuto gestite dal server

Analizziamo le prestazioni del server di Google nella figura sottostante.

Per analizzare le prestazioni del server web sotto test, dovresti concentrarti su 2 parametri

  • Portata
  • Deviazione

Il rendimento è il parametro più importante. Rappresenta la capacità del server di gestire un carico pesante. Il più alto il volume è, il meglio è il prestazioni del server.

In questo test, il throughput del server di Google è 1.491.193 / minuto. Significa che il server di Google può gestire 1.491.193 richieste al minuto. Questo valore è piuttosto alto, quindi possiamo concludere che il server di Google ha buone prestazioni

La deviazione è mostrata in rosso - indica la deviazione dalla media. Il più piccolo il meglio .

Confrontiamo le prestazioni del server di Google con quelle di altri server web. Questo è il risultato del test delle prestazioni del sito Web http://www.yahoo.com/ (è possibile scegliere altri siti Web)

Il throughput di un sito web in prova http://www.yahoo.com è 867.326 / minuti. Significa che questo server gestisce 867.326 richieste al minuto, meno di Google.

La deviazione è 2689, molto più alta di Google (577). Quindi possiamo determinare che le prestazioni di questo sito web sono inferiori a quelle di un server di Google.

NOTA: I valori di cui sopra dipendono da diversi fattori come il carico del server corrente su Google, la velocità di Internet, la potenza della CPU, ecc. Quindi, è molto improbabile che si ottengano gli stessi risultati di cui sopra. Quindi niente panico!

Risoluzione dei problemi:

Se si verifica il problema durante l'esecuzione dello scenario precedente ... eseguire le seguenti operazioni

  1. Controlla se ti stai connettendo a Internet tramite un proxy. In caso affermativo, rimuovere il proxy.
  2. Apri una nuova istanza di Jmeter
  3. Apri PerformanceTestPlan.jmx in Jmeter
  4. Fare doppio clic su Gruppo thread -> Risultato grafico
  5. Esegui il test