Struts DOJO - Lento

20 respostas
mInEiRo

Bom dia.

Nós daqui da empresa, desenvolvemos uma aplicação com Struts 2 + DOJO.
Mas quando fomos implantar o sistema, vimos que em alguns computadores o sistema não abria ou dava erro de script.
Porque quem vai utilizar o sistema na verdade são os clientes do nosso cliente. Assim depende muito da banda da internet que eles possuem.
Nas bandas que são baixas, o sistema não funciona. o DOJO tem muitos arquivos de Script que devem baixar tudo na máquina. Até mesmo com uma banda boa, o site da uma travada, mas continua. Deve ser na hora de baixar os arquivos.

So que as tags do dojo ajudaram a gente muito, não queria simplesmente retirar ele.
Queria saber da galera ai se alguem conhece alguma forma de ajustar essa lentidão ou tb se existem outras tag que competem com o DOJO que não tem esse problema de lentidão por causa dos arquivos js.

Muito Obrigado

20 Respostas

Aldrin_Leal

Shrinksafe?, compressão gzip?

fiaux

A verdade é que o DOJO é lento mesmo, sempre foi, não sei se tem mágica pra isso.

mInEiRo

opa, tem alguma tutorial de como eu utilizo o ShrinkSafe/

li aqui, pode ser a solução pra mim.

W

Nós daqui da empresa, desenvolvemos uma aplicação com Struts 2 + DOJO.
Mas quando fomos implantar o sistema, vimos que em alguns computadores o sistema não abria ou dava erro de script.

http://www.guj.com.br/posts/list/69054.java

mInEiRo

neste link não tem nada

W

By feliperod .:

O que é lento é o uso do DOJO Toolkit que por infelicidade foi adotado como padrão no struts 2.
O simples fato de evitar ao máximo o uso do DOJO ou otimizar o loading do mesmo, já traz um ótimo resultado na performance.

mInEiRo

sim…
isso eu li, vlw

vou ver se acho algum outro toolkit que seja menos lento

W

Mineiro ,

vou ver se acho algum outro toolkit que seja menos lento
Estou iníciando um projeto e estou pensando em usar o Struts 2.0.11, mais algumas coisas estão me tirando o sono e essa é uma delas.E a outra, é se o tempo de resposta da aplicação vai estar a contento e satisfazer o cliente, pois não poderei voltar atrás no projeto, portanto se puder retornar com informações sobre seu projeto e o resultado de sua solução fico agradecido.

mInEiRo

William,

Eu gostei muito de trabalhar com o DOJO, desenvolvemos aqui um projeto, criamos classes que geram o DOJO automático para padronozar todas as telas.
Exemplo. Uma tela que chamamos aqui de atualização, é uma tela onde tem uma grid com filtros e os botoes de incluir, alterar e excluir. temos vários cadastros que utilizam essa tela. então ao invez de criamos o grid em cada jsp, criamos um pacode, chamado JSPGENERICO, onde possuo uma classe que cria essa grid, do passo a lista com os dados que la vai imprimir. assom conseguimos deixar muito mais simples de criar a tela, muito mais rapido o trabalho. isso é so uma ideia simples do projeto.

mas o problema do dojo foi que alguns clientes falaram que o sistema nao entrava. demorava muito e ficava com a tela em branca. fomos fazer teste e vimos que uma banda baixa, o sistema perdia performace e dava muito erra de script.
aparecia uma mensagem dizendo que o script estava em loop, se queria continuar, quando nao abria nada.

o dojo é muito simples de se trabalhar, mas tem esse problema. estou tentando buscar algumas alternativas para tornar o dojo mais rápido, caso nao ache, vou avaliar outros toolkit.

qualquer outra dúvida sobre o projeto, meu msn é [email removido]

dc.rec1

Vocês devem estar utilizando a versão 0.4.3 do Dojo, que não tinha a performance como uma de suas qualidades. De ser possível, recomendaria migrar para a versão 1.1 que é muito mais compacta e rápida, um desenho muito mais inteligente.

De não ser possível a migração, recomendo criar pacotes personalizados do Dojo, no caso de ter problemas de rede e/ou dar um tunning no djConfig, como limitar os searchIds quando forem utilizados os widgets.

Seguem alguns links :

http://dojo.jot.com/PerformanceTuning
http://dojotoolkit.org/book/dojo-book-0-4/part-6-customizing-dojo-builds-better-performance

mInEiRo

realmente
estou utilizando a versão mais antiga
so que eu estava com medo de escolher a versão mais nova sem a comprovação que ela não tem o mesmo problema de lentidão.
para os meus projetos mais novos, devo usar a versão mais nova. vou testar a velocidade dela.

bbviana

Se realmente o problema de vcs for banda, isso soh deve ocorrer na 1a vez q a pagina carrega, pois depois o js deve ficar em cache.
Se nao ficar em cache - e vc pode verificar isso com o firebug ou simplesmente abrindo a pasta de cache do seu browser -, é problema de configuração do sue servlet. Mas por default os js ficam em cache.

Mas de fato, o dojo eh realmente muito lento como todos ja disseram. Nao sei se tem muito o q fazer, pois mesmo compactando os js e os deixando em cache, o seu processamento eh demorado. Para ver isso, verifque o quanto seu processador está sendo utilizado qdo vc executa uma pagina.

Herrera

eu estou usando o struts2.1 , que utiliza como plugin o dojo. Tá MUITO melhor e mais rapido que a versao 2.0.11 que era lentissimo. o plugin utiliza a versao 0.4.3 do dojo. mas parece que tem uma alma boa refazendo o plugin para usar a versao mais recente do dojo.

Herrera

W

Herrera Whote.:
eu estou usando o struts2.1 , que utiliza como plugin o dojo. Tá MUITO melhor e mais rapido que a versao 2.0.11 que era lentissimo. o plugin utiliza a versao 0.4.3 do dojo. mas parece que tem uma alma boa refazendo o plugin para usar a versao mais recente do dojo.
Vc. está usando em produção ou somente teste em uma máquina local.

bbviana

Herrera:
eu estou usando o struts2.1 , que utiliza como plugin o dojo. Tá MUITO melhor e mais rapido que a versao 2.0.11 que era lentissimo. o plugin utiliza a versao 0.4.3 do dojo. mas parece que tem uma alma boa refazendo o plugin para usar a versao mais recente do dojo.

Herrera

struts 2.1? Mas ja saiu?

dc.rec1

Não necessariamente, poderia estar utilizando alguma técnica como Lazy Loading, carregando os arquivos somente quando forem ser necessitados.

Mineiro, testa a nova versão sim que você vai sair bem satisfeito, os caras fizeram um grão trabalho.

bbviana

nao necessariamente, de fato, mas provavelmente

Herrera

já existe um build release em :

http://people.apache.org/builds/struts/2.1.0/

Herrera

ps: não é um GA ainda , mas está para ser gerado em breve…

bbviana

Vc disse q está mais rapido neh? Vc sabe onde eles melhoraram? Sabe se mexeram alguma coisa na OGNL?

Herrera

mudaram varias coisas, melhorando a utilizacao do dojo. antes com o s:head theme=ajax trazia todos os componentes(datepicker, autocompleter, etc) gerando uma carga grande para o browser. agora, com o sx:head fica bem mais leve, vale a pena conferir…

Herrera

Criado 3 de dezembro de 2007
Ultima resposta 3 de dez. de 2007
Respostas 20
Participantes 7