Trabalho com uma aplicação que roda no glassfish 2.1, quando aumenta o número de usuários ela trava e mesmo que diminua o número de acessos continua lento.
Quando reinicio, a plicação fica muito boa.
Alguém tem alguma sugestão do que pode ser?
Trabalho com uma aplicação que roda no glassfish 2.1, quando aumenta o número de usuários ela trava e mesmo que diminua o número de acessos continua lento.
Quando reinicio, a plicação fica muito boa.
Alguém tem alguma sugestão do que pode ser?
Ola Silvester,
é bem dificil dizer o que se passa na sua aplicação quando envolve problemas de performance, mas como você já analisou e percebeu que a lentidão é causada quando o número de usuários aumenta é bem provável que possa estar no gerenciamento dos recursos no servidor, um exemplo são as conexões como você gerencia as conexões?
Ola aix,
Estou confuso pois antigamente o uso de CPU atingia 100%, fiz algumas alterações e isso parou, agora o sistema fica lento, mas não consome todos os recursos. Parece que a aplicação fica em um loop interno. Verifiquei que faz muitos acessos ao banco, isso pode estar travando a aplicação?
e como você gerencia as conexões? fica a cargo do container a DataSource e o Pool?
Fica a cargo do pool.
Meu entityManager é ingetado pelo Spring, e vi no código que as conexões não são fechadas. tem alguma coisa a ver?
A resposta é sim, se não fecha uma hora chega no limite, como é a implementação do seu Pool? usa Hibernate? c3p0?
Usa hibernate. Monitorei pelo glassfish e as conexões são fechadas, mas existe uma página que abre 380 conexões.
E esta correto isso? pode haver erro no código, verifique também o número de conexões configuradas no pool e quantas conexões abertas seu database suporta.
Achei um número muito elevado, vou ter que refatorar diversas partes do sistema, mas estou na dúvida se é somente isso que está causando o travamento do sistema. O pool está configurado para 500 conexões.
Agora você tera que analisar a aplicação, mas acredito que sim, imagine que você tem um número x de conexões e conforme o número de usuários vai aumentado e eles vão utilizando esta parte do sistema chega uma hora que o database não comporta mais e uma fila de espera é criada.
Obrigado pelo auxílio. Alterei algumas configurações do pool e o sistema melhorou. Após alguns testes verifiquei que o gargalo está no pool de conexões e tenho que corrigir o sistema.
legal Silvester que esta conseguindo evoluir no problema, esses rolos são bem chatos de resolver pois pode ser muita coisa, mas quando você comentou acima sobre esse serviço que abria mais de 300 conexões já suspeitei de cara que o rolo era o exeesso de conexões. Qualquer coisa posta ai, se não soubermos corremos atrás 