Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aplicação com vraptor lenta após atualizar java e tomcat

Estou trabalhando em uma aplicação legada e a aplicação ao natural já é um pouco lenta, acredito que pela maneira que foi desenvolvida, porém após atualizar a versão do java 7 para java 8 e tomcat 7 para tomcat 8 a aplicação demora quase 2 minutos para carregar a tela inicial, antes demorava no máximo uns 10 segundos.

  • vraptor 3.4.1
  • tomcat 8.0.47
  • jdk 8

Acredito que a lentidão esteja ocorrendo pela entrega extremamente lenta de conteúdo ao browser, pois todos os requests estão demorando muito para serem concluídos, alguns exemplos:

  • bootstrap.min.css 19.6k: 10.07 segundos para download
  • font-awsome.min.css 5.7k: 20.27 segundos para download

Esses tempos foram retirados do browser com a aplicação rodando localhost.

Eu poderia fornecer diversos exemplos, mas todos seguem um padrão definido: os 6 primeiros arquivos (quantidade máxima de requests paralelos do browser) levam todos no mínimo 10 segundos, os próximos 6 levam no mínimo 20 segundos e assim por diante.

Sei que estou fornecendo pouquíssimas informações mas eu realmente não sei qual o motivo da lentidão e nem por onde começar.

Alguém poderia me ajudar por favor?

Obrigado!

:)

2 respostas

Oi Marco, talvez não seja exatamente isso mas posso te dizer que VRaptor 3 com o java 8 não dá muito bom não. Se quiser usar o java 8 é melhor utilizar o VRaptor 4 que roda muito bem com java 8

solução!

E ai Thiago, tudo bem? Obrigado pela ajuda, cara!

Eu consegui resolver o problema ontem a noite, era um filter no web.xml:

<filter>
    <filter-name>compressionFilter</filter-name>
    <filter-class>com.googlecode.webutilities.filters.CompressionFilter</filter-class>
    <init-param> 
        <param-name>compressionThreshold</param-name>
        <param-value>1024</param-value> <!-- compress anything above 1kb -->
    </init-param>
    <init-param> 
        <param-name>ignoreURLPattern</param-name>
        <param-value>.*\.(flv|mp3|mpg)</param-value> <!-- regex -->
    </init-param>
    <init-param> 
        <param-name>ignoreMimes</param-name>
        <param-value>images/*,video/*, multipart/x-gzip</param-value> <!-- ignore -->
    </init-param>
    <init-param> 
        <param-name>ignoreUserAgentsPattern</param-name>
        <param-value>.*MSIE.*</param-value> <!-- regex -->
    </init-param>
 </filter>
 <filter-mapping>
    <filter-name>compressionFilter</filter-name>
    <url-pattern>*</url-pattern>
 </filter-mapping>

Removi isso e tudo voltou a funcionar normalmente.

Sobre o vrapto4 eu tentei atualizar, mas como o projeto tem MUITAS classes que são personalizadas e com libs mais antigas (tem muitas libs de 2005, 2006 e 2007) ficou complicado de ir atrás de todas as soluções para resolver todos os métodos depreciados, removidos e que pararam de funcionar das libs, literalmente um inferno em forma de projeto... e olha que sou extremamente insistente cara. hahahaha

Obrigado pela ajuda pessoal

Abraço.