Lentidão em aplicativo

3 respostas
kaabah

Olá juggers…

Estou trabalhando com um sistema para emissão de relatórios de um data warehouse. A ferramenta é em java.

Estamos com um problema. A ferramenta possui um server rodando no tomcat. Todos os relatórios que fazemos em nosso cliente são salvos e processados no server.

Ao usarmos o client (que também é java) temos uma dificuldade muito grande em termos de velocidade de processamento de ABERTURA, SALVAMENTO e EXECUÇÃO dos relatórios. Foi constatado também, que durante o processamento (execução) de um relatório já pronto (rodando no browser) o CPU do servidor vai a 100% de uso.

Já eliminamos algumas possíveis causas. E agora surgiu uma hipótese de ser consumo de memória da JVM.

Alguém acha que isso é possível? Se sim, como aumentar a memória para execução desse aplicativo?

Alguma outra idéia também do que possa ser? :idea:

3 Respostas

jcatino

Boas !

CPU no server e não o client com o browser, certo ?

Os relatórios estão em PDF ? Por que precisa haver um cliente java ? Não grava de forma que o brwser possa abrir diretamente ? Acho que não entendi a infraestrutura, ou imagino que não deveria haver um client (imagino que um applet no browser se comunicando com o server, sei lá por quê…)

[/quote]Já eliminamos algumas possíveis causas. E agora surgiu uma hipótese de ser consumo de memória da JVM.

Alguém acha que isso é possível? Se sim, como aumentar a memória para execução desse aplicativo?

Alguma outra idéia também do que possa ser? :idea: [/quote]

Para ter certeza de ser a VM, vc precisa monitorar o servidor; aí vai depender se está no Linux, num outro Unix, ou num Windows 2000 Server ou similar.

Tenta mudar a linha de comando que levanta o Tomcat para usar o ‘java -Xrunhprof’ (mais informações: ‘java -Xrunhprof:help’), de forma a verificar quais classes e o quê está consumindo CPU.

Por exemplo, no servidor em linux vc dá ‘top’ na linha de comando, como root, e verifica se a JVM do Tomcat é quem está consumindo.

kaabah

Vou tentar explicar a arquitetura.

Esse client é um developer… ele que faz acesso aos server que contem o arquivo de configuração dos meus relatórios. Os relatórios são editados nesse meu client. Quando eu abro os relatorios para fazer alteracoes de campos que vão aparecer e outros tipos de coisas é que ele fica lento. Depois que altera e salva, mesma coisa!

O servidor é Windows 2003. Outro detalhe, o processo que consumia os 100% da CPU era exatamente o Tomcat.

Ficou mais claro? :wink:

kaabah

Alguma dica mais?

Criado 23 de novembro de 2006
Ultima resposta 24 de nov. de 2006
Respostas 3
Participantes 2