Bibliotecas no Servidor ou na Aplicação?

9 respostas
V

Olá pessoal, tudo bem?

Desenvolvo um software que ofereço como serviço, então, num mesmo servidor eu tenho várias instâncias do mesmo projeto.

O que ocorre é que eu sempre tenho problemas de falta de memória nele e aí surgiu uma dúvida. Se eu colocar as bibliotecas no servidor ao invés da aplicação, o consumo de memória vai cair?

Valeu!

9 Respostas

Hebert_Coelho

Pq vc acha que cairia? Creio que é o código do seu projeto que está com problemas…

V

Porque como os projetos são iguais, evitaria de carregar mais de um mesmo jar na memoria.
Na verdade, estou perguntando isso porque eu não sei como o Tomcat encara isso, se neste caso ele vê que as bibliotecas são idênticas e então carrega uma instância somente!

Hebert_Coelho

Porque como os projetos são iguais, evitaria de carregar mais de um mesmo jar na memoria.
Na verdade, estou perguntando isso porque eu não sei como o Tomcat encara isso, se neste caso ele vê que as bibliotecas são idênticas e então carrega uma instância somente!Quando a memória do servidor estourou, você fez um dump? Analisou quais objetos estavam em memória na hora? Olhou no log para ver se o problema está em alguma consulta que retorna muitos dados?

V

Foi na hora de gerar um relatório pelo Jasper Reports!

O erro não estava ocorrendo, é que precisei subir mais uma cópia do meu sistema no final de semana, e então hoje o erro aconteceu!

Não estou usando muitos frameworks justamente para não consumir muita memória no servidor, e mesmo assim tá dando permgem space.

Hebert_Coelho

VagnerMG:
Foi na hora de gerar um relatório pelo Jasper Reports!

O erro não estava ocorrendo, é que precisei subir mais uma cópia do meu sistema no final de semana, e então hoje o erro aconteceu!

Não estou usando muitos frameworks justamente para não consumir muita memória no servidor, e mesmo assim tá dando permgem space.

Vc viu a quantidade linhas que retornou? Simulou o mesmo em um ambiente igual ao de prod?

V

Hebert Coelho:
VagnerMG:
Foi na hora de gerar um relatório pelo Jasper Reports!

O erro não estava ocorrendo, é que precisei subir mais uma cópia do meu sistema no final de semana, e então hoje o erro aconteceu!

Não estou usando muitos frameworks justamente para não consumir muita memória no servidor, e mesmo assim tá dando permgem space.

Vc viu a quantidade linhas que retornou? Simulou o mesmo em um ambiente igual ao de prod?

Infelizmente eu dei um reboot no servidor aqui Hebert e perdi o Log!

E eu não simulei o erro não!
Hospedo meu projeto na integrator e minha JVM está com 1gb de ram!

V

Meu arquivo catalina.sh está assim:

#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.6.0_35/
export JRE_HOME=$JAVA_HOME
export CATALINA_HOME=/home/touchinf/appservers/apache-tomcat-7x/
export JAVA_OPTS="-Xmx1024000000 -Djava.awt.headless=true"

Está configurado errado?

rodrigo.uchoa

Recomendaria colocar no servidor só as libs estáveis: hibernate, spring, commons, etc. As suas próprias libs, que estão em desenvolvimento, como alguma lib de “arquitetura” deixaria duplicado dentro de cada projeto mesmo.

Claro que é impossível dizer que isso por si só vai resolver seu problema. Mas que ajuda, ajuda. E não é uma prática tão de outro mundo não.

Hebert_Coelho

rodrigo.uchoa:
Recomendaria colocar no servidor só as libs estáveis: hibernate, spring, commons, etc.

As suas próprias libs, que estão em desenvolvimento, como alguma lib de “arquitetura” deixaria duplicado dentro de cada projeto mesmo.

So fique atento que essa prática pode levar a problema de conflito de libs, caso o tomcat já tenha alguma lib de versão mais antiga carregada por ele mesmo.

Isso aí vai te tomar um cadin de tempo. [=

Criado 14 de outubro de 2013
Ultima resposta 14 de out. de 2013
Respostas 9
Participantes 3