Qual É o melhor servidor para uma aplicaÇÃo java?

8 respostas
L

Colegas javaneses,

Estou elaborando um anteprojeto de um sistema do tipo 3 camadas, e não sei quais são os bons servidores para aplicações java. Alguém sabe me dizer se o Tomcat 2.0 aguentaria um sistema com 40.000 consultas por dia? Se não, conhecem algum que aguentaria? Além disso, sabem onde posso obter referências tipo “casos de sucessos” destes servidores?

[]s

Leandro

8 Respostas

D

Tomcat 2?!?!?!? :shock:
Bom, por que você não tenta algo mais recente, como o Tomcat 5?! Se precisar (mas precisar muito mesmo) de qualquer item oferecido por um servidor J2EE completo, tente o JBoss.

L

“Leandro BSB”:
Colegas javaneses,

Estou elaborando um anteprojeto de um sistema do tipo 3 camadas, e não sei quais são os bons servidores para aplicações java. Alguém sabe me dizer se o Tomcat 2.0 aguentaria um sistema com 40.000 consultas por dia? Se não, conhecem algum que aguentaria? Além disso, sabem onde posso obter referências tipo “casos de sucessos” destes servidores?

Nunca existiu uma versão 2.0 do Tomcat. A primeira foi a 3.0 e hoje está na 5.0. Por que voce não experimenta as opções disponiveis, faz alguns benchmarks e ve como fica. Alem disso o Tomcat é um servlet container e não um AS.

40k por dia? A 8hs de uso isso da 1.4 requisões por segundo, qualquer AS consegue isso com as 2 mãos nas costas com hardware mundano. A não ser que essas consultas exigam alguns segundos para serem processadas.

L

Ops! Achei que o Tomcat e o Apache eram a mesma coisa :oops: . Já que estamos falando nisso, qual é a diferença entre um AS e um servlet Container?

Valeu!

Leandro.

B

Em termos práticos:
Application Server (ou J2EE Conteiner): roda EJB
Servlet ou web Conteiner: roda servlets / JSP

L

Olá

Capacity planning ou planejamento de capacidade é uma arte as vezes chamada de “black magic” e geralmente muito bem remunerada porque depende de muita experiência para analisar os inúmeros fatores e avaliar se vamos atender aos níveis de serviço de contrato. O servidor de aplicações é apenas um dos fatores. Por exemplo: o tomcat 5 funciona perfeitamente em um Pentium 166 com Linux. Tenho um ao meu lado assim. Mas não tem a responsabilidade de atender 40K consultas /dia com cinco noves de disponibilidade, principalmente consultas do tipo tudo ou nada que precisam ser desfeitas em caso de falha em alguma camada.

[list=1:928b80dc9c]Introdução ao planejamento de capacidade x níveis de serviço

Exemplos de níveis de serviço

  • Limites superiores no tempo de resposta de uma requisição, exemplo: abaixo de k segundos responde tudo, entre k e l, perde 50%, acima de l perde 90%;
  • Taxa de processamento mínima do servidor (throughput), exemplo: no mínimo n transações por segundo;
  • Disponibilidade mínima do site, exemplo: site disponível pelo menos 99,9% de todo o tempo (neste exemplo apenas 3 noves);
  • Percentual de transações com tempo de resposta abaixo de um certo valor, exemplo: 95% das transações não devem ser respondidas em mais de k segundos.

Quando qualquer um dos níveis de serviço for violado diz-se que a capacidade do sistema atingiu o ponto de saturação.

Gargalo de um sistema é o componente por onde a transação gasta a maior parte do seu tempo. As melhorias no tempo de resposta são limitadas pelo tempo gasto no gargalo.

O planejamento da capacidade é o processo de prever quando os níveis futuros de carga saturarão o sistema e determinar o modo mais econômico de adiar a saturação do sistema ao máximo possível.[/list:o:928b80dc9c] Feita esta introdução vamos voltar à sua dúvida. Você falou em sistema de 3 camadas e nem disse quais seriam estas camadas. Mas vou chutar que uma camada seja de persistência. Se esta camada usar banco de dados já pode mudar todo o panorama. Ainda chutando pensei com meus botões que um sistema com 40K consultas /dia talvez precise de uma certa redundância, talvez de balanceamento de carga e até mesmo de alta disponibilidade. Como vê o negócio vai longe. E olha que nem avaliei se o tomcat 5.0.19 que é um bom servlet container e um péssimo web server pode ou não atender ao seu problema. Por exemplo, se vai usar EJBs vai precisar de algo como o JBoss, WebSphere, WebLogic, Orion Server ou muitos outros.

Só para que você perceba como seus dados são insuficientes lhe digo que participei de um projeto com picos de 300K transações/dia, throughput de contrato 200tps, onde haviam 4 servidores RISC top de linha cada um com 12 processadores e 16Gb de memória. Um par de servidores para a camada dos servidores de aplicação com balanceamento de carga e o outro par para a base de dados. Tudo com alta disponibilidade. A base de dados é paralela com os dados armazenados em SAN acessada por gigabit.

Vou lhe indicar alguns links sobre capacity planning que é uma área onde imagino que possa me dar alguma graninha:
Web Capacity Planning: How to Plan for Server Growth
Capacity Planning for Web Services: Metrics, Models, and Methods, 2nd Ed.

Os fornecedores do tipo Oracle, IBM, etc. também tem lá suas ferramentas para ajudar a planejar a capacidade.
Mais alguns outros links googlados:
http://dspace.dial.pipex.com/regday/
http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci762219,00.html
http://www.nwfusion.com/news/2001/1029specialfocus.html
http://www.specbench.org/osg/web99/

E como o louds bem disse, nada como alguns benchmarks do seu próprio problema. Há ferramentas free como o JMeter por exemplo ou se seu orçamento comporta contrata logo a Mercury.

Persistindo os sintomas … estamos aí.

[]s
Luca

S

aaaa eu quero um desse :cry:
Eu achando o máximo meu servidor com 1.5G de memória :roll:

O

Hahahahaha … Isso é servidor, o resto é l…

http://www.sun.com/servers/highend/sunfire_e20k/index.xml

http://www.sun.com/servers/highend/sunfire_e25k/index.xml

[]'s

C

Oziel, voce recomendaria uma Sun Fire pra rodar uma app que serve 40k requisicoes por dia? So vc mesmo :smiley:

Criado 2 de março de 2004
Ultima resposta 4 de mar. de 2004
Respostas 8
Participantes 8