MokaByte 89 - 8bre 2004 
Controllo dello stato di JBoss 3.2 e Tomcat 5 usando JMeter 2
di
Yury Fedorov

Apache JMeter 2 ha introdotto un nuovo Monitor Results per visualizzare lo stato del web server. Nell'articolo si descrive come adattare l'applicazione web "monitor dello stato del server di Tomcat 5" a JBoss 3.2, creare un piano di prova usando JMeter 2 ed infine usare il piano per ricevere l'informazione dello stato del web server.

Apache JMeter 2 ha introdotto un nuovo Monitor Results per visualizzare lo stato del server. Questo monitor era sviluppato per controllare lo stato del nuovo web application server di Apache: Tomcat 5.
Nell'articolo si descrive come:

  • adattare l'applicazione web "monitor dello stato del server di Tomcat 5" a JBoss 3.2;
  • creare un piano di prova usando JMeter 2;
  • usare il piano per ricevere l'informazione dello stato del web server.

Adattamento del monitor per JBoss
Per deployare a JBoss l'applicazione web "monitor di Tomcat 5" si richiede di fare un paio di piccoli modifiche. Sull'indirizzo http://esistema.it/pubblicazioni/jmeter-monitor/jmeter-monitor-war.zip si può scaricare lo script per Ant che assembla il .WAR file che può essere usato sia su Tomcat 5 che su JBoss 3.2.
All'interno dell'archivio, nella cartella src, si trova l'applicazione web di monitor. L'applicazione fa la parte di Tomcat 5 e si trova sul percorso: %CATALINA_HOME%\server\webapps\manager. Per motivi di maggior sicurezza sono tolte dal etc\web.xml le dichiarazioni di tutti i mapping del servlet e lasciate solo quella che dichiara status.

Piano della prova
Il piano deve contenere tre elementi principali: HTTP Request, Constant Timer e Listener.


Figura 1
- Il piano della prova.

Interno di HTTP Request è necessario per:

  • specificare l'indirizzo IP o il nome del host;
  • specificare il numero della porta del web server;
  • specificare il percorso alla pagina del monitor;
  • aggiungere un parametro con il nome XML tutto in maiuscolo con il valore true tutto in minuscolo;
  • attivare Use as Monitor in basso al sampler.


Figura 2
- Le impostazioni della richiesta.

Il timer serve ad impostare almeno un intervallo di 5 secondi per evitare uno stress aggiuntivo al tuo server.
JMeter dà la possibilità di impostare più di un listener contemporaneamente. Nel piano della prova possono essere utili 3 listener: Monitor Results, Simple Data Writer e View Result Tree.
Il listener View Result Tree può essere utile per mettere le impostazioni del piano a posto e fare le prime prove. Usandolo si può facilmente vedere quando arriva una nuova risposta dal server e scorrere il contenuto della risposta.
Il listener Simple Data Writer è conveniente per raccogliere i dati statistici relativi allo stato del server sul log file. Un altro vantaggio del listener è che richiede meno memoria per il suo lavoro.
Il modello del piano per il monitor si può scaricare sull'indirizzo http://esistema.it/pubblicazioni/jmeter-monitor/jmeter-monitor-piano.zip . E' necessario solo modificare le impostazioni relative alla località del tuo server, la sua porta e il percorso. All'esempio è specificato che il nome del server è localhost, la porta è 8080 e il percorso è /jmeter-monitor/status.

 

Lancio del monitor
L'applicazione deployato, il server lanciato, il piano della prova aperto nel JMeter. Tutto pronto! Per lanciare il monitor è abbastanza fare clic sul menu Run, quindi scegliere Start. Per fermare il monitor fai clic sul menu Run, quindi scegli Stop.
Sulla finestra del monitor ci sono due schede. La scheda Health mostra lo stato dei server controllati. La scheda Performance mostra la produttività per le ultime mille richieste. Le formule usate per il calcolo dei parametri sono interne. Per pulire la finestra del listener dai dati precedenti scegli il listener da pulire, fai clic sul menu Run, quindi scegli Clear.


Figura 3
- La scheda Health.

 


Figura 4
- La scheda Performance.

 

Conclusione
Usando la tecnica descritta si possono organizzare le prove di scalability e produttività e le prove della qualità del servizio.
Le prove di scalability e produttività aiutano a capire come il sistema elabora il carico provocato dal lavoro contemporaneo degli utenti. Questo tipo di prove dovrebbero far parte delle prove di funzionalità del sistema. Così sia programmatori che tester possono creare le condizioni più vicine e realistiche a quelle dell'ambiente di produttività.
Le prove della qualità del servizio aiutano a capire come il sistema lavora in condizioni di produzione a lungo termine . Quest'ultime dovrebbero anche essere incluse nelle prove di funzionalità del sistema; sono soprattutto utili per i tester e per gli amministratori, e fanno monitorare lo stato del sistema.

Bibliografia
[1] Apache Software Foundation - JMeter -User's Manual, 2004
[2] Apache Software Foundation - Apache Ant 1.6.2 Manual, 2004
[3] Apache Software Foundation - Tomcat User Guide, 2004
[4] Frank Coher - Java Testing and Design, 2004
[5] JBoss - JBoss 3.2 Getting Started, 2003

 

Yury Fedorov laureato in Tecnologie Informatiche, lavora da più di 6 anni nel settore IT. Dal 1999 si occupa di Java ed in particolare dello sviluppo di applicazioni web J2EE. Dopo diverse esperienze di disegno e sviluppo ora si occupa in particolare di aspetti architetturali per progetti rivolti al mercato e-business. Ha numerosi certificati di Brainbench e in particolare Master Java, Internet Professional Web Developer Client-side e Internet Professional Web Developer Server-side.


MokaByte® è un marchio registrato da MokaByte s.r.l. 
Java®, Jini® e tutti i nomi derivati sono marchi registrati da Sun Microsystems.
Tutti i diritti riservati. E' vietata la riproduzione anche parziale.
Per comunicazioni inviare una mail a info@mokabyte.it