Turbinando o JBoss AS 5 - Java Magazine 84
O JBoss Application Server 5 pode ser alterado de acordo com as necessidades de cada aplicação, resultando em maior performance, segurança, escalabilidade, alta disponibilidade entre inúmeros fatores que fazem diferença ao entrar em produção ou até mesmo agilizando o processo de desenvolvimento. Neste artigo veremos 10 dicas de tuning e boas práticas para customizar seu JBoss AS 5.
Atenção: esse artigo tem um vídeo complementar. Clique e assista!
O JBoss Application Server 5 pode ser alterado de acordo com as necessidades de cada aplicação, resultando em maior performance, segurança, escalabilidade, alta disponibilidade entre inúmeros fatores que fazem diferença ao entrar em produção ou até mesmo agilizando o processo de desenvolvimento. Neste artigo veremos 10 dicas de tuning e boas práticas para customizar seu JBoss AS 5.
Para que serve:
Este artigo demonstra 10 dicas de tuning de JBoss Application Server 5 que poderão ser aplicadas em diversos casos do mundo corporativo.
Em que situação o tema é útil:
O artigo atualiza o leitor em relação a características que podem ser tunadas no JBoss Application Server 5, trazendo diferenças significativas em um ambiente de produção ou até mesmo agilizando o desenvolvimento.
Turbinando o JBoss AS 5:
Para tirar maior proveito da flexibilidade do JBoss AS 5, você poderá tunar seus serviços conforme suas necessidades, fazendo com que ele possa ter respostas mais rápidas à sua demanda ou facilitar as atividades de manutenção.
Dentre as inúmeras características e serviços que podem ser
tunados, selecionamos alguns dos principais e os transformamos em 10 dicas que
poderão fazer a diferença em seu ambiente de produção e até mesmo no seu
ambiente de desenvolvimento.
Autores: Bruno Rossetto Machado, Leandro Abite e Raul Leite
O JBoss Application Server 5, ou simplesmente JBoss AS 5, é a mais recente versão do mais utilizado Servidor de Aplicações Java EE na atualidade. Para tirar maior proveito da flexibilidade deste servidor de aplicações, você poderá personalizar, customizar ou simplesmente tunar seus serviços conforme suas necessidades, fazendo com que ele possa ter respostas mais rápidas à sua demanda ou facilitar as atividades de manutenção.
Tuning
Tuning é uma expressão inglesa que é sinônima de customização, sendo muito utilizada no mundo automobilístico. O Tuning consiste basicamente em alterar as características originais de um carro, chegando a um nível de personalização extrema, com o objetivo de expressar principalmente o gosto do seu dono, deixando o automóvel com maior performance, beleza e segurança, tornando-o diferente e único.
Deixando um pouco o mundo dos automóveis, o tuning pode ser aplicado em diferentes contextos, como Servidores de Aplicações, Sistemas Operacionais, Redes, etc. No nosso caso, teremos um servidor de aplicações totalmente customizado às nossas necessidades, com o uso eficaz de recursos do servidor físico (como CPU, memória, disco, entre outros).
Neste artigo detalharemos 10 dicas que poderão ser aplicadas ao JBoss AS 5 para demonstrarmos sua flexibilidade e facilidade de customização, abordando como foco principal dicas para o ambiente de produção.
1) Retirando serviços do JBoss AS 5
O JBoss AS vem com diferentes profiles para serem utilizados de acordo com a necessidade da aplicação, no entanto, é possível personalizar esses profiles para que tenham somente os serviços necessários para o seu ambiente. Existem diversas vantagens em ter um profile personalizado, como melhor utilização dos recursos computacionais disponíveis em seu ambiente e utilização apenas dos serviços que serão utilizados pela aplicação, evitando consumo desnecessário de memória, CPU ou disco; portanto, melhorando o tempo de inicialização e resposta do servidor de aplicação.
Para remover um serviço do JBoss AS basta apagar o arquivo ou diretório referente ao serviço desejado, que está dentro de $JBOSS_HOME/server/<profile>/deploy e suas respectivas libs, que estão dentro de $JBOSS_HOME/common/lib. A Tabela 1 contém uma lista dos arquivos de cada serviço que devem ser apagados para remover determinado serviço do JBoss AS.
Serviço |
Descrição |
Arquivos |
|
Serviço para envio de e-mail |
$JBOSS_HOME/server/<profile>/deploy/mail-service.xml $JBOSS_HOME/server/<profile>/deploy/mail-ra.rar |
Cache invalidation service |
Serviço para controle de cache de EJB via JMS |
$JBOSS_HOME/server/<profile>/deploy/cache-invalidation-service.xml |
HSQL DB *** |
Banco de dados Java |
$JBOSS_HOME/server/<profile>/deploy/hsqldb-ds.xml $JBOSS_HOME/common/lib/hsqldb-plugin.jar $JBOSS_HOME/common/lib/hsqldb.jar |
JMS Service |
Serviço de mensageria |
$JBOSS_HOME/server/<profile>/deploy/jms-ra.rar $JBOSS_HOME/server/<profile>/deploy/messaging |
JMX Console |
Aplicativo de gerenciamento - jmx-console |
$JBOSS_HOME/server/<profile>/deploy/jmx-console.war |
WEB Console |
Aplicativo de gerenciamento - web-console |
$JBOSS_HOME/server/<profile>/deploy/management |
Schedule Manager |
Serviço para agendar execução de jobs |
$JBOSS_HOME/server/<profile>/deploy/schedule-manager-service.xml $JBOSS_HOME/server/<profile>/deploy/scheduler-service.xml $JBOSS_HOME/common/lib/scheduler-plugin.jar $JBOSS_HOME/common/lib/scheduler-plugin-example.jar |
Quartz |
Serviço para agendar execução de Jobs |
$JBOSS_HOME/server/<profile>/deploy/quartz-ra.rar $JBOSS_HOME/common/lib/quartz.jar |
HTTP Invoker |
Chamada RMI/HTTP para Mbeans e EJBs |
$JBOSS_HOME/server/<profile>/deploy/http-invoker.sar |
Key Generator |
Serviços para geração de valores para Chaves Primárias |
$JBOSS_HOME/server/<profile>/deploy/uuid-key-generator.sar |
EJB |
Enterprise Java Beans |
$JBOSS_HOME/server/<profile>/deploy/ejb3-interceptors-aop.xml $JBOSS_HOME/server/<profile>/deploy/ejb2-timer-service.xml $JBOSS_HOME/server/<profile>/deploy/ejb2-container-jboss-beans.xml $JBOSS_HOME/server/<profile>/deploy/ejb3-connectors-jboss-beans.xml $JBOSS_HOME/server/<profile>/deploy/ejb3-timerservice-jboss-beans.xml $JBOSS_HOME/server/<profile>/deploy/ejb3-container-jboss-beans.xml $JBOSS_HOME/server/<profile>/deploy/profileservice-secured.jar |
Tabela 1. Serviços que podem ser excluídos.
HSQLDB é o banco de dados default do JBoss. Alguns dos serviços citados na Tabela 1 precisam de um DataSource para seu funcionamento. Assim, quando o HSQLDB é removido, o Datasource DefaultDS é removido junto com o Banco e um novo DataSource precisa ser configurado em seu lugar, vide dica 9) Trocar o banco de dados nativo. Os serviços que necessitam de um DataSource são EJB, JMS Service, Key Generator e Schedule Manager. Caso não esteja usando nenhum destes serviços não é necessário ter um DataSource configurado.
2) Múltiplas instâncias
JVMs com a área de heap pequena são mais rápidas que JVMs com a área de heap muito grande. Dessa forma, ao invés de configurar um JBoss AS com uma heap de 8GB, por exemplo, é muito mais performático dividir em duas instâncias de 4GB ou até mesmo quatro instâncias de 2GB e fazer um balanceamento de carga entre estas instâncias através do Apache Web Server com "
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo