Lentidão no ADempiere via WebStart

Discussão sobre dados técnicos do Compiere / Adempiere, servidores, sistemas operacionais, banco de dados, etc.
dvivencio
Mensagens: 12
Registrado em: Ter Dez 07, 2010 10:58 am

Lentidão no ADempiere via WebStart

Mensagempor dvivencio » Qui Abr 26, 2012 7:37 pm

Olá, pessoal.

Tenho uma implantação do Adempiere na organização onde trabalho, operando há cerca de um ano. Apesar de funcionalmente o sistema nos atender, sempre observamos uma certa lentidão na execução do aplicativo, a cada tentativa de abrir uma janela entre clicar na entrada no menu e a janela correspondente abrir havia um atraso entre 30 a 60 segundos. Isso dificultava tanto a utilização por parte do usuário como a execução de customizações via Dicionário de Aplicação. Como temos alguns problemas de lentidão na rede que limitam o desempenho, acreditávamos que o problema se devia a isso.

Como o problema se agravou recentemente, resolvi investigar e descobri que ele só se manifestava se utilizasse através de WebStart. Habilitando o trace, observei que ele tentava localizar um arquivo de nome "Adempiere1.jar", que não existe no servidor. Observando o build.xml que o RUN_silentsetup.sh utiliza, encontrei a raiz do problema.

Para gerar o arquivo ADempiere.jar o script cria um arquivo chamado Adempiere1.jar, resultado da união dos seguintes JARs: customization.jar, packages.jar, patches.jar, posterita.jar e AdempiereOriginal.jar (o Adempiere.jar, renomeado durante o processo de build). O problema está nessa linha:
<jar jarfile="lib/Adempiere1.jar" index="yes" duplicate="preserve">

Como ele gera o arquivo com o nome de Adempiere1.jar (em outro ponto ele é renomeado para Adempiere.jar) e essa opção em vermelho gera um arquivo INDEX.LIST na pasta META-INF dentro do Jar, o índice gerado referencia o Adempiere1.jar. A função desse índice é acelerar o carregamento de classes, porém nesse caso gerou o efeito exatamente oposto, pois o WebStart ficava tentando buscar o tal arquivo por vários segundos antes de desistir e continuar com a execução normal. A impressão que tive foi de que uma ideia inocente de trazer ganhos de desempenho acabou tendo o efeito oposto por não haver um conhecimento mais amplo da função de indexação de JARs. Pra quem quiser entender melhor a função do INDEX.LIST e sua (des)necessidade: http://javahowto.blogspot.com.br/2006/0 ... index.html

Após alterar a opção para "no" (e a remoção de algumas linhas desnecessárias por conta da mudança) e rodar novamente o RUN_silentsetup.sh o desempenho da aplicação aumentou significativamente, eliminando essas lentidões que dificultavam a utilização do sistema.

Como posso contribuir com essa alteração?

Atenciosamente,
Diego

ralexsander
Mensagens: 579
Registrado em: Ter Nov 21, 2006 7:43 am
Localização: São Paulo
Contato:

Re: Lentidão no ADempiere via WebStart

Mensagempor ralexsander » Qui Abr 26, 2012 8:15 pm

Olá Diego,

Primeiramente, obrigado pela explicação detalhada do seu problema. Eu nunca reparei este problema de lentidão nos nossos clientes, vou tentar fazer alguns testes aqui.

A melhor maneira de contribuir é criando um ticket no JIRA (https://adempiere.atlassian.net/), pois assim você pode acompanhar quando a sua contribuição entrará no ar, mas se preferir eu posso criar o ticket mantendo os créditos para a sua contribuição.

Att!
Ricardo Alexsander Santana
http://www.kenos.com.br

dvivencio
Mensagens: 12
Registrado em: Ter Dez 07, 2010 10:58 am

Re: Lentidão no ADempiere via WebStart

Mensagempor dvivencio » Qua Mai 02, 2012 11:23 am

Olá, Ricardo.

Cadastrei o ticket no JIRA: https://adempiere.atlassian.net/browse/ADEMPIERE-82

Como disse, o problema inicialmente foi atribuído à rede, já que acessos locais tendiam a ser bem mais rápidos. Acredito que essas tentativas de acesso que o webstart faz também são influenciadas pela rede, por isso os resultados variavam e nem sempre . Observei que ele tenta pelo menos umas 30 vezes localizar o arquivo errado antes de desistir e continuar a execução.

Obrigado!

Diego

limafricke
Mensagens: 3
Registrado em: Seg Nov 09, 2009 7:40 pm
Localização: Ijuí - RS
Contato:

Re: Lentidão no ADempiere via WebStart

Mensagempor limafricke » Qua Mai 30, 2012 2:07 pm

Olá Diego,


Verifiquei sobre seu relato e o possível problema.
Lhe pergunto, você está utilizando o sistema via rede local? via internet, ou em uma ligação via rádio etc.. onde as métricas de rede geralmente são mais lentas ?

Abraço

Lucas


Voltar para “Infraestrutura”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante