Medindo consecutivos tempos de subida do JBoss

December 5th, 2011 by rafaelliu Leave a reply »

Estava com um problema que causava congelamentos de até 10 minutos nas máquinas do JBoss em um cliente. Estes congelamentos eram intermitentes e aconteciam sempre no boot do JBoss.

A fim de fazer testes com várias configurações diferentes e gerar um relatório com dados precisos, escrevi um script que executa o init script do JBoss, espera ele inicializar completamente, grava o tempo de inicialização e mata o processo. Faz isso 50 vezes.

Estou postando ele aqui na esperança de ser útil para mais alguém. Ele é bastante auto-explicativo:

#!/bin/bash
# Notes: all Java processes are going to the KILLED and
# previous probe.log ERASED!
 
JBOSS_LOG_FILE="/opt/jboss/server/default/log/server.log"
REPEAT=50
 
START_STRING="Started in"
RESULT_FILE="/root/probe.log-`date +%F`"
> $RESULT_FILE
 
for i in $(seq 1 $REPEAT); do
	# clean
	killall -9 java
	> $JBOSS_LOG_FILE
 
	# init and wait
	sh /etc/init.d/jboss start
	while [ "x$( grep "$START_STRING" $JBOSS_LOG_FILE )" == "x" ]; do
		sleep 1
	done
 
	# log
	cat $JBOSS_LOG_FILE | grep "$START_STRING" >> $RESULT_FILE
done
 
echo "Done"
Advertisement

2 comments

  1. Israel Rodrigo Faria says:

    Fala Liu!

    Estamos falando aqui de instâncias de jboss 7? Um “slimming” foi feito ou está na configuração default?

    Sei que os senhores fizeram um excelente trabalho no boot do JBoss recentemente e existem pessoas falando em startup menor que 10 segundos…

    É terrivel quando causas de problemas são intermitentes. Difícil identificar a causa… Mas nós que somos de TI estamos acostumados a isso neh?

    Muito sucesso, rapá!

  2. rafaelliu says:

    Eae Israel! Na verdade o script foi feito para o JBoss 5, mas tendo um init script e uma string chave, daria para usar com qualquer versão do JBoss.

    O JBoss 7, como tu disse, realmente está bootando muito mais rápido. Coisa de 3 segundos, o que é ótimo para desenvolvimento. Mas em produção temos coisas muito mais importantes pra nos preocupar! Agora, que tá animal tá..

    Bom “te ver” garoto!

Leave a Reply