[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 

Forum Read-Only! Check the new site and forum here!

Uso do mentawai em aplicação web para cluster linux  XML
Forum Index -> Comentários Gerais
Author Message
flaviomreis


[Avatar]
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
[MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

`
Excelente feedback !!!

Muito legal mesmo...

Sergio Oliveira

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
[MSN]
flaviomreis


[Avatar]
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
[MSN]
velo


[Avatar]

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
[Email] [MSN]
flaviomreis


[Avatar]
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
[MSN]
velo


[Avatar]

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
[Email] [MSN]
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team