Apache Tomcat - Performance interna
Qual mortal desenvolvedor de sistemas que trabalha, principalmente, com Java nunca entrou em contato com o Apache Tomcat. Bom, mas para aqueles menos informados, saibam que ele é conteiner web, cuja função é servir aplicações web escritas em Java. Foi desenvolvido pela Apache Software Foundation
Vale lembrar, que o seu código é aberto e que a SUN considera o projeto como a Implementação de Referência para JSP e Java Servlet.
Em muitos casos, no nosso dia-a-dia, não temos acesso a JVM e ao SO no qual implantamos nossos sistemas. O que resta a nós, nesses casos, para incrementarmos a performance do Tomcat é configurará-lo internamente. A seguir, cito duas dicas básicas, de configuração interna do Apache Tomcat.
Ajustando o número de Threads:
Uma forma de controlar a performance de suas aplicações é ajustando o número de requisições das threads em uso. O Tomcat define por padrão um pool de threads para prover uma resposta rápida aos pedidos recebidos. Normalmente essa configuração padrão normalmente é suficiente para a maioria dos aplicações. Mas você pode ajustar esse pool de acordo com a real necessidade de sua aplicação. Para isso definimos as propriedades “minThreads” e “maxThreads”.
Um exemplo para a configuração da propriedade minThread é a seguinte: em um pequeno momento do dia seu site recebe dez requisições por segundo e cada requisição demora 1 segundo para ser processada, um minímo dez threads, alocadas inicialmente, deve ser o suficiente para garantir uma boa performance do seu servidor.
Agora precisamos configurar o máximo de threads que o servidor irá disponibilizar. Pois, provavelmente, teremos picos de acessos em determinados momentos do dia. Caso isso ocorra, o valor que definirmos na propriedade maxThreads, será o máximo de threads que serão realocadas aquelas iniciais para garantirmos que o servidor não fique ocupado, e garanta as requisições solicitadas. Só não podemos esquecer de termos um limite de thread que condiz realmente com a nossa real necessidade. Visto que, um número alto nessa configuração, poderá estourar a memória da JVM em um ataque malicioso que realizará um ataque em massa no servidor.
Podemos utilizar para testar as nossas configurações, ferramentas que realizam uma carga no servidor configurada por nós. E com a análise dos resultados obtidos podemos chegar a um ponto adequado para as nossas aplicações.
Essa configuração é feita no conector de sua aplicação no arquivo server.xml.
Desabilitando pesquisas de DNS
O servidor, onde está localicazada a nossa aplicação, precisará para gerar um log sobre cada requisição de um cliente, algumas informações com o número do IP ou o resultado de uma pesquisa na busca do seu nome no DNS. Porém, pesquisa de DNS utilizam banda de rede, envolvendo troca de informações de vários servidores.
O que pode acontecer é que um desses servidores poderá ficar inoperante, resultando em tempos de espera pelo nosso servidor. Para evitarmos isso podemos desabilitar as pesquisas de DNS. Após estar desabilitado, toda a requisição pelo servidor remoto (getRemoteHost() emHttpRequest), somente retornará o IP numérico, sem tentar resolver o seu nome.
Essa configuração também é feita no conector de sua aplicação no arquivo server.xml. Em um conector comum o atributo responsável por essa propriedade é o enableLookups.
Popularity: 66% [?]
Olá! Eu sou Daniel Tamiosso, um jovem com vinte e um anos, amante da vida e suas várias variáveis.
Comentários