jMeter - Monitorare il piano di test

In questo capitolo, discuteremo come creare un piano di test utilizzando JMeter per monitorare i server web. Gli usi dei test del monitor sono i seguenti:

  • I monitor sono utili per uno stress test e per la gestione del sistema.

  • Utilizzato con le prove di stress, il monitor fornisce informazioni aggiuntive sulle prestazioni del server.

  • I monitor rendono più semplice vedere la relazione tra le prestazioni del server e il tempo di risposta sul lato client.

  • In quanto strumento di amministrazione del sistema, il monitor fornisce un modo semplice per monitorare più server da una console.

Abbiamo bisogno di Tomcat 5 o superiore per il monitoraggio. Ai fini del nostro test, monitoreremo il server Tomcat 7.0.42. È possibile testare qualsiasi contenitore servlet che supporti Java Management Extension (JMX). Scriviamo un test case per monitorare il server Tomcat. Per prima cosa configuriamo il nostro server Tomcat.

Imposta il server Tomcat

Iniziamo con l'apertura dello stato del servizio Tomcat. A tale scopo, modificare il file di configurazione per gli utenti,<TOMCAT_HOME>/conf/tomcat-users.xml. Questo file contiene una sezione Tomcat-users (commentata) come mostrato -

<tomcat-users>

<!--
   <role rolename = "tomcat"/>
   <role rolename = "role1"/>
   <user username = "tomcat" password = "tomcat" roles = "tomcat"/>
   <user username = "both" password = "tomcat" roles = "tomcat,role1"/>
   <user username = "role1" password = "tomcat" roles = "role1"/>
-->

</tomcat-users>

Dobbiamo cambiare questa sezione per aggiungere i ruoli di amministratore, manager, manager-gui e assegnare l'utente "admin". Il file modificato è il seguente:

<tomcat-users>

   <role rolename = "manager-gui"/>
   <role rolename = "manager-script"/>
   <role rolename = "manager-jmx"/>
   <role rolename = "manager-status"/>
   <user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>

Ora avvia il server Tomcat <TOMCAT_HOME> /bin/startup.sh per Linux e <TOMCAT_HOME> /bin/startup.bat per Windows. Una volta avviato, verifica che la supervisione di Tomcat funzioni inserendo il seguente link nel tuo browser:

http://localhost:8080/manager/status?XML=true

Viene visualizzata una finestra di autenticazione nel browser. Inserisci il login e la password di Tomcat associati (nel nostro caso è admin). Quindi, il browser mostra lo stato di esecuzione di Tomcat come di seguito:

Dallo screenshot sopra, possiamo notare alcune cose:

  • Nell'URL, notare che XML = true (notare la distinzione tra maiuscole e minuscole) consente una visualizzazione pulita del Tomcat di supervisione necessario per il funzionamento di JMeter.

  • Notare inoltre che ci sono due connettori predefiniti. Il connettore AJP utilizzato in generale accoppiato con il modulo frontale Mod_jk Apache HTTPD e il connettore HTTP che è comunemente usato connettore per l'accesso diretto a Tomcat tramite la porta 8080.

Scrivi JMeter Test Plan

Cerchiamo di monitorare il server Tomcat scrivendo un piano di test -

Rinomina piano di test

  • Apri la finestra JMeter facendo clic su /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

  • Fare clic sul nodo Piano di test.

  • Aggiungi un gruppo di thread come spiegato nel passaggio successivo.

Aggiungi gruppo thread

  • Fare clic con il tasto destro su Test Plan → Add → Threads(Users) → Thread Group. Il gruppo di thread verrà aggiunto nel nodo Piano di test.

  • Modificare il conteggio dei loop su per sempre (o su un numero elevato) in modo da generare un numero sufficiente di campioni.

Gestore autorizzazioni HTTP

  • Aggiungi Gestore autorizzazioni HTTP all'elemento Gruppo thread selezionando Aggiungi → Elemento di configurazione → Gestore autorizzazioni HTTP. Questo elemento gestisce l'autenticazione richiesta dal browser per vedere lo stato del server Tomcat.

  • Seleziona il gestore delle autorizzazioni HTTP.

  • Modifica i seguenti dettagli:

    • Username - admin (a seconda della configurazione nel file tomcat-users.xml)

    • Password - admin (a seconda della configurazione nel file tomcatusers.xml)

    • Gli altri campi vengono lasciati vuoti.

Aggiungi richiesta Sampler-HTTP

Ora che abbiamo definito i nostri utenti, è il momento di definire le attività che eseguiranno. Aggiungiamo l'elemento di richiesta HTTP.

  • Fare clic con il pulsante destro del mouse per ottenere il menu Aggiungi.

  • Seleziona Aggiungi → Campionatore → Richiesta HTTP.

  • Quindi selezionare l'elemento Richiesta HTTP nella struttura ad albero.

  • Modifica le seguenti proprietà come nell'immagine qui sotto:

  • In questo elemento vengono inseriti i seguenti dettagli:

    • Name - Stato del server

    • Server Name or IP - localhost

    • Port - 8080

    • Path - / manager / status

    • Parameters- Aggiungere un parametro di richiesta denominato "XML" in maiuscolo. Dagli un valore "vero" in minuscolo.

    • Optional Tasks - Selezionare "Use as Monitor" nella parte inferiore del campionatore.

Aggiungi un timer costante

Per richiedere periodicamente lo stato del server, aggiungere un timer costante che consentirà un intervallo di tempo tra ogni richiesta. Aggiungi un timer a questo gruppo di thread selezionando Aggiungi → Timer → Timer costante.

Immettere 5000 millisecondi nella casella Thread Delay . In generale, l'utilizzo di intervalli inferiori a 5 secondi può aggiungere stress al server. Scopri qual è un intervallo accettabile prima di distribuire il monitor nel tuo ambiente di produzione.

Aggiungi ascoltatore

L'ultimo elemento che devi aggiungere al tuo piano di test è un ascoltatore. Aggiungiamo due tipi di ascoltatori. Uno che memorizza i risultati in un file e il secondo che mostra la visualizzazione grafica dei risultati.

  • Seleziona l'elemento del gruppo di fili.

  • Aggiungi un listener di Simple Data Writer Aggiungi → Listener → Simple Data Writer.

  • Specifica una directory e un nome file del file di output (nel nostro caso, è /home/manisha/work/sample.csv)

  • Aggiungiamo un altro listener selezionando l'elemento del piano di test Aggiungi → Listener → Monitor risultati.

Esegui il piano di test

Ora salva il piano di test sopra come monitor_test.jmx . Esegui questo piano di test utilizzando l'opzione Esegui → Avvia.

Visualizza l'output

I risultati verranno salvati nel file /home/manisha/work/sample.csv. Puoi anche vedere un risultato grafico nel listener dei risultati del monitor come nell'immagine qui sotto.

Nota che il grafico ha didascalie su entrambi i lati del grafico. A sinistra c'è la percentuale e la destra è morta / sana. Se la linea della memoria si alza e si abbassa rapidamente, potrebbe indicare un thrash della memoria. In queste situazioni, è una buona idea creare il profilo dell'applicazione con Borland OptimizeIt o JProbe. Quello che vuoi vedere è un modello regolare per carico, memoria e thread. Qualsiasi comportamento irregolare di solito indica prestazioni scadenti o un bug di qualche tipo.