Acesso a banco de dados lento usando BlazeDS  XML
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Autor Mensagem
tonkleber
Thread.start()

Membro desde: 10/12/2008 06:28:20
Mensagens: 46
Offline

Olá pessoal. Tenho uma aplicação Java+Flex+BlazeDS que acessa um banco MySQL por mei do HIbernate/JPA. Localmente o acesso ao banco está normal, mas quando eu hospedei esta aplicação na Locaweb, percebi uma grande lentidão nas consultas feitas ao banco, a principio pensei que o problema estava na locaweb, mas depois de alguns teste verifiquei que o responsável é o Flex com BlazeDS, pois criei a mesma consulta utilizando JSP e o resulta bem rápido. Eu preciso utilizar o Flex, alguém sabe como eu posso resolver isso?

Omeganosferatu
JavaEvangelist
[Avatar]

Membro desde: 05/01/2007 10:13:24
Mensagens: 328
Localização: São Paulo
Offline

Detalha um pouco mais seu problema....

Qual a consulta que está sendo lenta ? Como estão mapeados seus serviços no blazeDS ??

E já te adianto que fatalmente a aplicação em flex tende a ser mais lenta que em jsp, afinal de contas a resposta que um JSP precisa está na requisição que é enviada de volta, já o flex precisa serializar e deserializar os dados que são enviados e recebidos. ( por favor alguem me corrige se eu estiver falando besteira )...

Sun Certified Java Programmer
Sun Certified Java Developer

The death of one is a tragedy, but death of a million is just a statistic ( Joseph Stalin )
[ICQ]
tonkleber
Thread.start()

Membro desde: 10/12/2008 06:28:20
Mensagens: 46
Offline

Detalha um pouco mais seu problema....


services-config.xml:


arquivo.mxml:


acesso ao baco:


remoting-config.xml:


Para se ter uma idéia esta mesma consulta localmente demora menos de um segundo, no provedor demora quase 25 segundo.
thiago_algo
JavaTeenager

Membro desde: 27/07/2004 11:23:41
Mensagens: 186
Offline

Omeganosferatu wrote:Detalha um pouco mais seu problema....

Qual a consulta que está sendo lenta ? Como estão mapeados seus serviços no blazeDS ??

E já te adianto que fatalmente a aplicação em flex tende a ser mais lenta que em jsp, afinal de contas a resposta que um JSP precisa está na requisição que é enviada de volta, já o flex precisa serializar e deserializar os dados que são enviados e recebidos. ( por favor alguem me corrige se eu estiver falando besteira )...


Acredito que você não esteja falando besteira não.

Só não entendi uma coisa: primeiramente foi falado em Hibernate depois foi postado um código com jdbc. Com o Hibernate o problema pode estar nos Lazy. A serialização pode estar demorando.
Mesmo sendo em jdbc também pode esta acontecendo o problema de demora na serialaação pela quantidade de dados.
Omeganosferatu
JavaEvangelist
[Avatar]

Membro desde: 05/01/2007 10:13:24
Mensagens: 328
Localização: São Paulo
Offline

Para se ter uma idéia esta mesma consulta localmente demora menos de um segundo, no provedor demora quase 25 segundo.


Pootz cara, realmente deve ter alguma coisa errada por ai, eu não consegui identificar pelo seu código.

Pra você ter uma ideia, atualmente estou trabalhando num projeto com Flex acessando um banco sqlServer e consumindo WS de outros servidores, a coisa é um pouco lenta, mas nem tanto.....


Já tentou fazer os 2 testes no servidor? 1 utilizando jsp e outro com o flex ?

Talvez pode ser algum problema no seu link ... sei lá .... qualquer novidade vai postando ai que a gente ve o que consegue descobrir...

[]s

Sun Certified Java Programmer
Sun Certified Java Developer

The death of one is a tragedy, but death of a million is just a statistic ( Joseph Stalin )
[ICQ]
tonkleber
Thread.start()

Membro desde: 10/12/2008 06:28:20
Mensagens: 46
Offline

Já tentou fazer os 2 testes no servidor? 1 utilizando jsp e outro com o flex ?

Já fiz este teste e não tem nem comparação, com jsp o resultado é na hora. segue os links:

nome para consulta: "maria"
http://www.alscocrm.com.br/crm/teste.html

http://www.alscocrm.com.br/crm/mysqljava.jsp



Só não entendi uma coisa: primeiramente foi falado em Hibernate depois foi postado um código com jdbc.

Eu usei jdbc para eliminar a suspeita com o Hibernate.
thiago_algo
JavaTeenager

Membro desde: 27/07/2004 11:23:41
Mensagens: 186
Offline

Pelos links que você mandou os dois resultados foram instatâneos aqui.
Omeganosferatu
JavaEvangelist
[Avatar]

Membro desde: 05/01/2007 10:13:24
Mensagens: 328
Localização: São Paulo
Offline

Aqui também foi na hora ..... quase que instantaneo .... tanto pra maria, sergio... digitei no text field e cliquei em buscar e o resultado foi na hora .....

Da uma olhada em como seu teste ta sendo feito ai ..... aqui foi bem rapido....

Sun Certified Java Programmer
Sun Certified Java Developer

The death of one is a tragedy, but death of a million is just a statistic ( Joseph Stalin )
[ICQ]
tonkleber
Thread.start()

Membro desde: 10/12/2008 06:28:20
Mensagens: 46
Offline

Agora eu não entendi nada, acessei por outra máquina aqui na rede da empresa e o acesso via flex continua lento.
Mas valeu pessoal força.
Omeganosferatu
JavaEvangelist
[Avatar]

Membro desde: 05/01/2007 10:13:24
Mensagens: 328
Localização: São Paulo
Offline

Acho que pode ser o link de vocês ai .... da uma checada depois .... ou na versão do flash player dos browsers....
abraço

Sun Certified Java Programmer
Sun Certified Java Developer

The death of one is a tragedy, but death of a million is just a statistic ( Joseph Stalin )
[ICQ]
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Aqui foi bem ligeiro também...
Faz um tracert pro ip pra ver o que acontece.

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
pintofree
Virtual Machine Man
[Avatar]

Membro desde: 19/12/2007 12:44:42
Mensagens: 651
Localização: Cuiabá - MT
Offline

Cara aki foi instantaneo as 2 buscas, verifique fora da empresa tmb para vc ver o resultado.

So uma Duvida, vc esta usando Blaze-Ds direto com Hibernate???

No Hibernate vc esta usando EntityManager ou Session??

estou usando BlazeDs acessando direto minhas Daos, no hibernate e esta dando um consumo de memoria violento no tomcat, no caso estou usando EntityManager.

SCJP - Sun Certified Java Programmer
SCWCD - Sun Certified Web Component Developer, Enterprise Edition 5

"When the compiler's not happy, ain't nobody happy."

[Email] [MSN]
tonkleber
Thread.start()

Membro desde: 10/12/2008 06:28:20
Mensagens: 46
Offline

No Hibernate vc esta usando EntityManager ou Session??

Sim estou usando direto com hibernate com EntityManager. Na verdade é JPA implementado pelo Hibernate.
Sobre o problema da lentidão, eu testei lá em casa e foi rápido também mas aqui na empresa fica lento mesmo, e olha que a velocidade do link é muito boa.
Faz um tracert pro ip pra ver o que acontece.

Acho que não necessidade de usar o tracert porque o acesso via jsp é rápido, o problema deve estar relacionado com o BalzeDS mesmo. Não faço dem idéa do que está acontecendo aqui...Bom vou deixar isto para lá.
rafaelk
Debugger
[Avatar]

Membro desde: 09/01/2009 08:16:29
Mensagens: 63
Offline

Você está usando pool de conexões ?
pintofree
Virtual Machine Man
[Avatar]

Membro desde: 19/12/2007 12:44:42
Mensagens: 651
Localização: Cuiabá - MT
Offline

tonkleber wrote:
No Hibernate vc esta usando EntityManager ou Session??

Sim estou usando direto com hibernate com EntityManager. Na verdade é JPA implementado pelo Hibernate.


Cara, e vc esta usando Algum Singleton para gerenciar o EntityManagerFactory, o meu esta um por classe, pois o singleton que implementei nao tava adiantando pois instanciava o singleton novamente.
No Caso Usei Este


Vc tem como postar uma classe sua que utiliza Entity Manager para que eu possa ter uma ideia.

SCJP - Sun Certified Java Programmer
SCWCD - Sun Certified Web Component Developer, Enterprise Edition 5

"When the compiler's not happy, ain't nobody happy."

[Email] [MSN]
 
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team