[RESOLVIDO]Lentidão para carregamento de lista de Pedidos/Orçamento

Bom dia, tudo bem?

Estou com um sério problema nas listas do meu sistema… uso Java, com servlets e o banco de dados é firebird 1.5… Não uso nenhum framework…
Em resumo o que acontece, quando o cliente carrega a lista de pedidos"Por exemplo, quando retorna 100 pedidos" a consulta é muito rápido, e a lista volta preenchida para a página rapidamente… mas o Html demora muito para montar a lista… e enquanto ele não monta, o usuário não consegue fazer mais nada pois deve esperar que alguns javascripts sejam executados no final…

O que acontece com essa lista, é que ela tem muitas colunas… umas 7… e em alguns casos ela faz consulta no banco em cada linha para carregar algumas informações vindas do pedido… exemplo:
Tenho o codigo da situação, ele faz consulta e me retorna a situação… isto acontece de forma diferente, umas duas vezes por cada pedido, fora alguns testes para colocar alguns botões… se pode excluir, editar, etc…
Então, gostaria de saber se está consulta, a parte de estar abrindo e fechando a conexão muitas vezes pode ser a causa da lentidão, ou se é normal o HTML demorar tanto mesmo…

em último caso, eu estava pensando em retornar essas informações lá na consulta do pedido já, para abrir apenas uma consulta… e adicionar atributos no pedido para estas informações… mas também não tenho certeza se é o certo, pois o pedido ficará cheio de “atributos extras”, se alguém poder me ajudar com alguma dica!

Obrigado!

Posta o código aee, tanto das servlets, queries e principalmente do html :slight_smile:

Vou arriscar algumas dicas.

  1. Abrir e fechar conexões pode causar lentidão sim, o ideal é resolver com uma única conexão; porem se vc estiver utilizando um pool já ameniza bastante.

  2. Pode haver uma certa incompatibilidade entre os recursos visuais que vc esta utilizando e a versão do browser; por exemplo, o chrome é bem mais rápido que algumas versões do explorer, entre as próprias versões do explorer existem diferenças de performance tambem. Se incluir o firefox na jogada vc vai encontrar outras medidas também.

flws

Se você estiver usando hibernate , será que você fez os mapeamentos dos joins corretamente ? você esta usando lazy ou eager ? enfim na maioria das vezes isto tem mais haver com a consulta que você faz no bd e claro como vc faz , do que com a parte da camada de cima…enfim são possibilidades a serem pesquisadas , você já debugou o seu código e viu aonde exatamente perde-se mais tempo na consultas ou nas renderizações ?

Foi mal não tinha observado direito …enfim …o ideal é debugar mesmo … isolar as camadas …model , view e control se vc tiver usando mvc …e verificar aonde ocorre o gargalo … exatamente , feito isto , você trabalha em cima exatamente aonde é o problema de fato …no mais posta seus códigos para darmos uma olhada …

Oi galera!

Sobre o navegador, eu estava usando o Google Chrome…
Fiz alguns testes com o Charles:

carregamento do pedido:
1 consulta: 33.58 segs
2 consulta: 27.44 segs
3 consulta: 26.36 segs
4 consulta: 26.89 segs
Fui para outra área do sistema, e voltei para começar as pesquisas novamente:
1 consulta: 27.59 segs
2 consulta: 28.78 segs
3 consulta: 33.00 segs
4 consulta: 25.64 segs

Este era o tempo antigo de carregamento da pagina Html, quando fazia consultar por linha…
Fiz umas modificações para ele não ficar abrindo e fechando conexões a cada consulta, e usar sempre a mesma consulta ocm o banco…
A página ficou muito rápida, leva de 5-6 segundos para carregar todos os pedidos! realmente não se pode ficar abrindo e fechando conexões que nem louco, haha…
obrigado, e abraço!

É isso ai…bem vindo ao forum.

flws