Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 14:37:37
|
flaviomreis
Joined: 21/03/2006 11:23:28
Messages: 75
Offline
|
Boa tarde a todos!
A convite do saoj, vou tentar contar uma pequena historinha. Antes é necessário saberem que não sou um desenvolvedor java experiente, posso dizer com certeza que conheço mais de linux do que de java e isto que não entendo tanto assim de linux.
Acabei de terminar meu trabalho de conclusão de curso para bacharelado em sistemas de informação da Ulbra, em Torres, RS. Os objetivos do trabalho foram a construção de um cluster para alta disponibilidade e balanceamento de carga utilizando software livre, por isto, utilizei Linux, DRBD, Heartbeat, LVS e Keepalived.
Para simular um ambiente real, resolvi desenvolver uma aplicação web que fizesse gravações e consulta em uma base de dados postgresql. Portanto, utilizei o container tomcat 5.5.16, o postgresql 7.4 e o mentawai 1.3. Acho que sou meio preguiçoso por natureza, ou então tento acompanhar a crista da onda mesmo sem ter gabarito pra isto, por isto resolvi trabalhar com a base de dados utilizando mapeamento objeto-relacional com hibernate 3.1.
Todo o meu diagrama de classes de negócio se resume a Compra, ItemCompra, Fornecedor, Produto, Grupo, com alguns poucos atributos básicos. Toda a aplicação web é composta por três actions, uma que realiza uma compra completa (que é obter a identificação de um fornecedor envia pela URL, por GET, instanciar uma compra e depois selecionar aleatoriamente 10 produtos e instanciar um item de compra para cada produto), uma outra que instancia uma compra relacionada a uma identificação de fornecedor também recebida pela URL e uma terceira ação que faz uma consulta em um dos 10 mil produtos da base.
Esta aplicação web foi disposta nos 3 computadores do cluster, todas acessando uma base de dados postgresql centralizada em uma máquina e sendo replicada em outra.
Tive problemas em utilizar a aplicação web, com hibernate e tomcat utilizando linux e java 5, por isto tive que usar java 6 mesmo sendo beta. Eu era afetado pelo seguinte problema http://opensource.atlassian.com/projects/hibernate/browse/HHH-1293. Além disto, tive problemas com o coletor de lixo, quando estava realizando muitas consulta e certamente devido a imensa quantidade de instanciações de objetos, simplesmente o tomcat se arrastava, então utilizei as configurações propostas em http://www.brandlay.com/wojtek/publ/tomcat.jsp.
Por fim, posso relatar que o mentawai suportou cargas de trabalho enorme, utilizando o HibernateFilter, sem apresentar nenhum problema. Um AthlonXP 2600+ conseguiu atender a uma média de 700 requisições/segundo para consultas. Junto o cluster passou perto de 2000 requisições/segundo, pena eu não possuir mais clientes em meu mini-laboratório caseiro pra colocar o cluster em sua carga máxima de trabalho. Acredito que conseguiria chegar perto de 2500 requisições/segundo.
Era isto galera, espero que este relato possa ajudar em alguma coisa.
Abraços.
|
Flávio Menezes dos Reis
Bacharel em Sistemas de Informação
flaviomreis@gmail.com |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 14:44:19
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
`
Excelente feedback !!!
Muito legal mesmo...
|
Sergio Oliveira
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2006 10:59:37
|
Edufa
Joined: 24/03/2006 12:40:51
Messages: 42
Location: Curitiba, PR
Offline
|
Olá Flávio acabei mandando um PM para vc, mas depois me toquei que mais pessoas podem estar interessadas, qdo concluído vc pode disponibilizar o seu trabalho de graduação, achei bem interessante a estrutura proposta e principalmente o teste.
|
Edufa
Curitiba, PR |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2006 12:13:13
|
flaviomreis
Joined: 21/03/2006 11:23:28
Messages: 75
Offline
|
Claro, assim que eu tiver concluído ele eu disponibilizo pra comunidade. Ainda é um pequeno passo e um produto pequeno, mas que pode vir a ser muito mais útil para quem prevê configurar clusters.
[]'s
|
Flávio Menezes dos Reis
Bacharel em Sistemas de Informação
flaviomreis@gmail.com |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2006 15:13:21
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
Como vc fez pra simular esse monte de requisições por segundo?
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2006 11:32:14
|
flaviomreis
Joined: 21/03/2006 11:23:28
Messages: 75
Offline
|
Olá!
Este foi um dos tópicos do meu TCC, criei uma aplicação web simples e um software cliente que faz requisições HTTP em série, controlada por um outro software que envia mensagem para o cliente solicitando inicio e término da série... então rodei vários clientes em máquinas distintas para gerar carga de trabalho suficiente para ir ao limite de capacidade do cluster, embora com os 3 clientes de que dispunha não consegui esgotá-los, mas pude ocupar 80% do poder de processamento do cluster.
[]'s
|
Flávio Menezes dos Reis
Bacharel em Sistemas de Informação
flaviomreis@gmail.com |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2006 11:59:11
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
Doido!!!
Se der posta os fontes dos clientes.
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
 |
|