Tomcat aguenta o tranco em produção?

Boa tarde a todos :smiley:

Em minha equipe, desenvolvemos um sistema que será aberto ao publico, para pesquisas e atualizações.
Imagino uma média inicial de 500 acessos diarios, mas depois de um tempo ficar na casa dos 2000 acessos diários. 90% destes acesso serão de usuário que não precisam se logar. Os outros 10% seriam acesso de publicadores de informações e administradores.

O sistema foi desenvolvido com JAAS, JSF, RichFaces e JPA com Hibernate.
Sempre gostei da simplicidade e da performance do Tomcat, e é o que estamos usando para nosso desenvolvimento e testes internos.

Duvida:
O Tomcat aguenta o tranco de uma aplicação dessas ?
Quais cuidados deveria tomar?
É possivel fazer cluster de tomcat ? É viável ou vale a pena partir para algo mais parrudo como um JBoss(que usa tomcat internamente) ?

O sistema rodará em linux, provavelmente o CentOS.

Obrigado!

Aconselho um mais robusto como JBOSS, já tive problemas de performace com quase essa arquitetura com o TOMCAT, gritou no 2º dia :frowning:

Abraços

[quote=Renato_Ceadareanu]Aconselho um mais robusto como JBOSS, já tive problemas de performace com quase essa arquitetura com o TOMCAT, gritou no 2º dia :frowning:

Abraços[/quote]

E a performcance melhorou Renato?
Pois tanto as servlets quanto os jsps no JBoss são servidos pelo Tomcat interno dele, certo ?

também sugiro que você use o jetty, usamos aqui em produção, com um volume beeeeem maior do que você está esperando

[]'z

antes de qualquer coisa: http://jakarta.apache.org/jmeter/index.html

faça o deploy no servidor, depois rode o teste a partir de outra maquina. Assim voce terá uma noçao se seu servidor aguenta ou nao.

mas dizem que o jetty eh bem mais leve que o tomcat mesmo.

abrassssssss

Baseado nesses números que você tá falando não dá pra tirar muitas conclusões, mas 2000 acessos diários é coisa pouca. Tem sistema aqui que tem esse número de acessos por segundo. Acredito que você não deva ter muito o que se preocupar.

Ouvi dizer que o UOL é em Jetty mesmo (obviamente não é o Jetty sozinho que vai resolver os seus problemas; e seu site tem relativamente pouco tráfego).

[quote=andre_java][quote=Renato_Ceadareanu]Aconselho um mais robusto como JBOSS, já tive problemas de performace com quase essa arquitetura com o TOMCAT, gritou no 2º dia :frowning:

Abraços[/quote]

E a performcance melhorou Renato?
Pois tanto as servlets quanto os jsps no JBoss são servidos pelo Tomcat interno dele, certo ?[/quote]

  • / -
    Na verdade o Tomcat do JBoss (aka JBossWeb) possui várias customizações que abrangem desde segurança, leaks e performance. Não é o mesmo web container baixado diretamente do site da Apache.

Não posso mencionar sobre a arquitetura da UOL, mas digamos que eles tbm utilizam servidores de aplicação (com mensageria, EJBs e tudo mais) e não apenas um container servlet como o Jetty.

Sabendo configurar o Tomcat, ele aguenta o mesmo tranco que o Jetty. Como está escrito no post do blog da Caelum, eles não sabiam configurar o Tomcat e já tinham experiência com o Jetty por isso migraram para esse container. Melhor ainda é o Jboss Web, uma versão turbinada do Tomcat que a Jboss embute no seu Application Server e que está disponível para uso separadamente.

Algumas sugestões de configuração para o Tomcat rodar bem em produção (baseado em minhas experiências aqui na empresa):

  • instalar como serviço do S.O. (melhora o gerenciamento de memória);
  • compartilhar as bibliotecas (.jar) comuns das aplicações na pasta específica para isso (melhora o deploy);
  • configurar as opções da máquina virtual Java como Garbage Collector, PermSize e limites de memória;
  • criar no server.xml um pool de threads e ligá-lo ao conector HTTP (melhora o processamento de requisições).

Apesar de também preferir o Jetty por ser mais rápido e consumir menos memória, o Tomcat “aguenta o tranco” numa boa.

O que exatamente seria isto Alexandre ? O que é este conector HTTP ?