Desenvolvi uma aplicação em JSF 2.0 utilizando tomcat 7.0 como servidor, e observei um uso na faixa de 300 MB ~ 500 MB de memória da máquina, com isso surgiu uma duvida, pois estou fazendo um acesso único ou seja apenas um usuário, e se tivesse uma média de 100 usuários simultâneos, como ficaria o uso dessa memória, ou essa memória é para “rodar” o tomcat e as outras “sessões” iria utilizar pouca coisa ? gostaria de ter alguma ideia para poder contratar um plano. vlw a todos…
Cara da uma verificada nos escopos dos Managed Beans, verifique se você não colocou tudo como @SessionScoped.
Procure sempre que possível usar escopos de menor duração @ViewScoped ou @ConversationScoped(JEE 6).
E
emersonmgc
felipehts quando você faz o deploy da sua aplicação, algumas ou talvez a maioria das dependências de classes e/ou bibliotecas que você está utilizando em sua aplicação são carregadas em memória, reservando assim este espaço, especialmente classes que utilizam-se de propriedades estáticas . .
A questão dos escopos do JSF que o jweibe citou também deve ser atentada, mas acredito que se tudo estiver definido corretamente o aumento de utilização de memória por acréscimo de usuários sem dúvida aumentará, porém não deve afetar tanto sua aplicação a ponto de dobrar a carga por cada usuário logado . . .
Vale também lembrar que é sempre bom dar uma revisada na aplicação, sempre tem coisas para melhorar, refatorações ou mesmo alterações de tecnologia, enfim . .
O negócio rodar a aplicação e monitorar pra ver o que acontece.
F
felipehts
Bacana, vou fazer novas verificações aqui, estou achando estranho pois fiz uma aplicação simples com hibernate+jsf 2.0+primefaces, com poucas consultas e classes, mas está tendo um consumo médio de 347 MB de memória, até pensei em refazer a aplicação deixando de lado os frameworks, mas vou revisar primeiro o código …vlww
J
jweibe
Eu não gosto muito do scope de sessão, devido a tudo ficar pendurado na sessão por muito tempo isso degrada muito a performance do sistema,
em muitos casos o view scope resolve muito bem meu problema.
Imagina que você tenha um datatable é que o seu managed bean esta com escopo de sessão, e por sua vez o número de objetos na sua base de dados
esta por volta de 2000 objetos isso pode parecer pouco para um usuário logado, mais imagina que tenha de 100 a 200 usuário logado, dai a consumo de
memória já vai la pra cima.
Pra mim se tratando de JSF uma boa composição dos escopos faz muita diferença.
P
pbnf
Tudo é relativo, esse consumo apontado vc verificou aonde e como ? Sem fazer o deploy da aplicação JSF quanto estava gastando ? O certo é vc rodar a aplicação usando um profile pra medir corretamente essa alocação de memoria.
H
Hebert_Coelho
felipehts:
Bacana, vou fazer novas verificações aqui, estou achando estranho pois fiz uma aplicação simples com hibernate+jsf 2.0+primefaces, com poucas consultas e classes, mas está tendo um consumo médio de 347 MB de memória, até pensei em refazer a aplicação deixando de lado os frameworks, mas vou revisar primeiro o código …vlww
Concordo com o jweibe.
Não vejo como problema do framework, mas sim em como está sendo utilizado. [=
J
jaboot
Hebert Coelho:
felipehts:
Bacana, vou fazer novas verificações aqui, estou achando estranho pois fiz uma aplicação simples com hibernate+jsf 2.0+primefaces, com poucas consultas e classes, mas está tendo um consumo médio de 347 MB de memória, até pensei em refazer a aplicação deixando de lado os frameworks, mas vou revisar primeiro o código …vlww
Concordo com o jweibe.
Não vejo como problema do framework, mas sim em como está sendo utilizado. [=
Com todo respeito, mas discordo de vocês. Utilizar JQuery ao invés de JSF tira um peso do servidor e joga a batata quente para o browser do usuário.
H
Hebert_Coelho
jaboot:
Hebert Coelho:
felipehts:
Bacana, vou fazer novas verificações aqui, estou achando estranho pois fiz uma aplicação simples com hibernate+jsf 2.0+primefaces, com poucas consultas e classes, mas está tendo um consumo médio de 347 MB de memória, até pensei em refazer a aplicação deixando de lado os frameworks, mas vou revisar primeiro o código …vlww
Concordo com o jweibe.
Não vejo como problema do framework, mas sim em como está sendo utilizado. [=
Com todo respeito, mas discordo de vocês. Utilizar JQuery ao invés de JSF tira um peso do servidor e joga a batata quente para o browser do usuário.
Mas você pode fazer isso com JSF atribuindo o ato de salvar os componentes para CLIENT. O.o
J
jweibe
Hebert Coelho:
jaboot:
Hebert Coelho:
felipehts:
Bacana, vou fazer novas verificações aqui, estou achando estranho pois fiz uma aplicação simples com hibernate+jsf 2.0+primefaces, com poucas consultas e classes, mas está tendo um consumo médio de 347 MB de memória, até pensei em refazer a aplicação deixando de lado os frameworks, mas vou revisar primeiro o código …vlww
Concordo com o jweibe.
Não vejo como problema do framework, mas sim em como está sendo utilizado. [=
Com todo respeito, mas discordo de vocês. Utilizar JQuery ao invés de JSF tira um peso do servidor e joga a batata quente para o browser do usuário.
Mas você pode fazer isso com JSF atribuindo o ato de salvar os componentes para CLIENT. O.o
+1
jaboot cara respeito seu ponto de vista, pra que gosta de usar um framework action based e utilizar css + javascript para melhor a integração acho legal, mais essa
de que toda aplicação desenvolvida com JSF se tiver um problema de performace a culpa vai direto pro JSF, as vezes o cara não se da nem o trabalho de ler a documentação
do JSF, tentar entender a fundo como as coisas funciona e pra depois começar a desenvolver. Em contra partida vai fazendo as coisas de qualquer maneira vai colocar um monte
de MB como escopo de sessão e por ai vai… Por fim acho que isso vai depender mais do desenvolvedor do que do framework.