JavaFree.org | RubyOnBr.org

Ruby em Projeto Crítico

Acompanhar Ruby em Projeto Crítico 10 posts, 7 participantes

Avatar Edward Kishi 1 post

Ola a todos,

Tomei conhecimento recente da linguagem pela revista WWW, mas me interessei bastante até o momento pelo que vi.
Minha dúvida é se o Ruby on Rails seria adequado para um projeto grande?

Atualmente participo de um projeto que esta em Java, no WebSphere (5.1) da IBM, em uma Máquina AIX.

Atualmente este projeto recebi mais de 1,3 milhões de visitantes mês que geram mais de 10 milhões de páginas no mesmo período.

Não estamos contentes com o desempenho atual, e estamos avaliando outras opções.

Esta comunidade considera o Ruby recomendado para este ambiente ?
Se sim, que tipo de servidor seria mais recomendado ?

Apesar de vários tutóriais, não vejo cursos para a linguagem, poderiam indicar ?

abraços

 
Avatar Ronie Uliana 891 posts

Edward,

Aqui tem um caso de uso sobre a capacidade do Ruby e Rails , é uma série de quatro artigos, os outros três estão aqui , aqui e aqui. Se você acompanhar o artigo, vai ver que eles tiveram grandes ganhos quando simplificaram a estrutura (e atualizaram softwares). Note que eles estão com apenas UM servidor de frontend (que, inclusive, fornece páginas estáticas) e que eles não usaram page caching (que o Rails tem built-in).

Pelo que vejo dos comentário na net a recomendação parece ser Debian, Lighttpd + Mongrel + MySQL ou Postgres (tenho uma queda por Posgres ;). A gente está rodando com Debian, Apache + FastCGI e Postgres e tá indo bem, pelo menos, depois da configuração inicial, a manutenção é supertranquila.

Cursos de Ruby: O Carlos Eduardo está montando um curso remoto e a Caellum tem um presencial. O Ronaldo Ferraz fez um “Mão na Massa” com a TempoReal e deve estar disponível para treinamentos. Nós aqui tb do site damos treinamentos presenciais (se vc estiver em São Paulo).

 
Avatar Ronaldo 388 posts

Eu estou rodando um site que serve dois milhões de páginas por mês (o servidor é um celeronzinho 1.3Ghz, com 512MB de RAM) e não tivemos problemas até o momento. O mesmo servidor roda outro site com mais ou menos meio milhão de páginas por mês também sem problemas. O servidor roda Debian Stable, com Apache 1.3 + Mongrel Cluster + Pound. Não estamos usando cache e a incidência de erros é muito baixa.

 
Avatar Ronie Uliana 891 posts

Aproveitando que o post do Ronaldo falou de números, o caso de uso que eu apontei (do site http://eins.de), tem a seguinte configuração e capacidade:

  • 1 Front End rodando Lighttpd (P4 3.0GHz, 2GB RAM, SCSI U320 HDDs RAID-1)
  • 4 Application servers com RubyOnRails (dual Xeon 3.06GHz, 2GB RAM, SCSI U320 HDDs RAID-1)
  • 2 Database Servers com MySQL (dual Xeon 3.06GHz, 4GB RAM, SCSI U320 HDDs RAID-1)

A última configuração deles serve 1,2 milhões (100GB tráfego) de páginas por dia.

 
Eu2 Carlos Eduardo 266 posts

Bom sobre o treinamento que estamos preparando aqui Neste post tem mais detalhes

 
Avatar jmp 104 posts

lembrar de coisas como sessions. session gravada em disco soh da problemas.

Meu site as vezes ficava doido, dando 500, lento, o ie dava “operacao anulada”, coloquei para gravar session em myisam e os problemas acabaram. Criei logo depois meu proprio activerecord e a velocidade aumento ainda mais.

 
Avatar Shairon Toledo 1272 posts

Tinhamos um ambiente aqui na empresa com Java e JBoss e também não estavamos contentes com o desempenho. O sistema atendia 500/min chamadas via Voip simutaneamente e tinhamos muitos problemas com geração de faturas pois as duas máquinas(Dell Xeon Dual power edge 2600) em sistema distribuido(com JBoss) dava um ratardo de até 0.7 mil/seg, isso para a soma de minutos gastos em um mês de um cliente grande é “roubar aos poucos”.
Atualmente utilizamos apenas uma das máquinas que o JBoss utilizava para atender 744 ligaçoes/min no software utilizando Ruby e Rails na outra máquinaadministração e atendimento a cliente.
Como vcs estão pensando em mudar de plataforma você vai escutar muitos mitos, cuidado! É a defesa das empresas de TI para com seus produtos.

 
Avatar Ronie Uliana 891 posts

Se eu entendi direito, com duas máquinas vcs estavam mais lentos do que com uma só por causa do tempo gasto do softare pra fazer o balanceamento? Entendi direito?

 
Avatar Shairon Toledo 1272 posts

É isso mesmo.
Com enlace de 1 Gbps. Um fator de sucesso foi que ao analizarmos a utilização de Thread em Ruby e Java chegamos(“nós”) ao veredito que em Java “as thread” são mais rápidas mas não se compara a mudança para sub subprocessor em ruby utilizando fork, caindo cada subprocesso aleatóriamente em cada CPU.
Isso é só um exemplo prático em que vivenciamos neste estado contemporâneo de desenvolvimento em Ruby.

 
Avatar Fabiano França 6 posts

Parabéns a todos.

Estou fazendo um levantamento para decidir qual linguagem vamos usar para substituir o ASP aqui na empresa e esse tópico tirou qualquer possibilidade de dúvida que tinha quanto ao desempenho do Rails.

Agora saindo do desempenho e indo para a praticidade, o que vocês acham de usar o Rails para desenvolver uma intranet (um mini ERP) onde estão todos os sistemas da empresa (de uma simples agenda ao controle financeiro)?

Sendo que um dos focos desse sistema é a integração de todos os módulos (ex: vincular um débito a um funcionário, um compromisso na agenda a um fornecedor).

A primeira opção que me veio a cabeça para essa migração foi Java, pelo poder da linguagem.

Usando uma estrutura com JavaServer Faces, Spring, Hibernate e Facelets, tirando os vários xmls, fica bem “fácil” de trabalhar.

Rails pela simplicidade que a linguagem trás para resolver os problemas.

E .NET para aproveitar a atual estrutura da rede (2003 com IIS).

De inicio tinha descartado o .NET já que trabalhar com DataSets não me agrada muito (não acho natural) mas agora que conheci o Project Castle, uma espécie de Rails para o .NET, ele voltou a ficar cotado.