Node.js VS Apache

433 views
Skip to first unread message

David de Oliveira Antunes

unread,
Aug 7, 2013, 7:58:07 AM8/7/13
to nod...@googlegroups.com
Estou desenvolvendo o meu TCC nesta área e gostaria de recomendações de materiais voltados ao seguinte tema:

Node.js VS Apache para sites altamente escaláveis (comparação entre resultados de desempenhos ).

Todo tipo de material científico será de grande importância (artigos, livros, monografias).

Desde já agradeço.

Renato Elias

unread,
Aug 7, 2013, 2:57:10 PM8/7/13
to nod...@googlegroups.com

Renato Elias
Tel: +55 (011) 97694-3872


2013/8/7 David de Oliveira Antunes <david.o...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "NodeJS Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para nodebr+un...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Luiz Henrique Coura

unread,
Aug 7, 2013, 4:02:15 PM8/7/13
to nod...@googlegroups.com
David, 

Bastante pertinente esse tema. Porém, vc não acha melhor comparar nodejs vs react (php) ou nodejs vs twisted (python) ou nodejs vs eventmachine (ruby)?

Testar nodejs com o apache é quase um pecado! 

Faz mais sentido comparar nginx vs apache(event_mpm). Dê uma olhada nesses tb: 

Esse artigo do Dan Kegel que o Renato citou é essencial!!

Abs,
Luiz








2013/8/7 Renato Elias <renato...@gmail.com>

Ricardo Tomasi

unread,
Aug 7, 2013, 4:19:05 PM8/7/13
to nod...@googlegroups.com

Essa empresa aqui tem feito uns benchmarks muito completos entre praticamente todos os frameworks/plataformas existentes: http://www.techempower.com/benchmarks/#section=data-r6&hw=ec2&test=db


--
Ricardo Tomasi
Sent with Airmail
--

André Caribé

unread,
Aug 7, 2013, 5:20:16 PM8/7/13
to nod...@googlegroups.com
Talvez você tenha interesse em cases como o do Linked.in e eBay. Só procurar no google "eBay|Linkedin node.js" Ou do node-mysql (https://github.com/felixge/faster-than-c)


Renato Elias

unread,
Aug 7, 2013, 7:11:13 PM8/7/13
to nod...@googlegroups.com
Exato,

Não faz sentido comparar, na verdade o NodeJS usa backend baseado em event loop.

Sendo que criaram uma lib chamada libUV para portar o node para todas as plataformas, originalmente ele usava a libEV, mas ela nao suporta windows (IOCP - I/O Complete Ports, no padrão Reactor)

a libUV pelo que me consta utiliza grand dispatch no macosx e um approach derivado da libev para linux e unix, suporta kquee também, já no windows utiliza o IOCP

Além que interpreta o Javascript pelo V8

Já o apache é um servidor HTTP/HTTPS

A unica linguagem que ele entende e SSI (server side includes)

Ele no 2.4 suporta o pattern de event utilizando o MPM Event,

existe tres tipos Prefork, MPM e MPM Event

o Prefork é o default ele cria uma thread por request
o MPM utiliza uma thread para receber os request e faz fork para processar
o MPM Event utiliza uma thread para receber os request e faz event loop para processar

Ele suporta qualquer linguagem utilizando o seu sistema de modulos, mas nem todos os modulos desenvolvidos suportam todos os modos de operação, é o caso do mod_php.

Seu objetivo é exatamente o que ? Provar que EventLoop é mais eficiente que Fork ? que Threads ? se for isto, vc tem de esquecer o node e se focar talvez no proprio apache ou escrever seu programa em C.

Outro fato que tem de ser levado em consideração é o sistema operacional, pois cada um implementa tudo desde do fork até as threads e as vezes possui ate um sistema de event loop (caso do windows e macosx)




Renato Elias
Tel: +55 (011) 97694-3872


2013/8/7 Luiz Henrique Coura <luiz...@gmail.com>

Rafael Henrique Moreira

unread,
Aug 8, 2013, 11:17:05 AM8/8/13
to nod...@googlegroups.com
É verdade Renato, ele tem que ser mais específico na monografia. Eu também estou desenvolvendo minha monografia em Node mas minha abordagem vai ser na implementação de um sistema escalonável em Node, e mostrar porque utilizando o Node ele tem melhor desempenho do que utilizando outras abordagens, como conexões orientadas a threads. A base tá sendo  o artigo do C10k problem para o embasamento, e o sistema é um sistema de rankeamento com um algorítimo de recomendação baseado em conteúdo rodando por trás.

Uma coisa tá certíssima, seja bem específico, parece que temos muito tempo pra monografia mas o assunto tem que ser bem focado em um ponto só, pois é muito melhor você abordar com muita profundidade um assunto pequeno do que abordar superficialmente um assunto muito grande.

David de Oliveira Antunes

unread,
Aug 9, 2013, 2:02:45 PM8/9/13
to nod...@googlegroups.com
 Galera, muito obrigado pelas dicas!

A ideia inicial era comparar resultados entre o Node e o Apache, mas como o Luiz Coura disse, é praticamente um pecado! rs.

O artigo do C10K problem será meu foco.

Quero continuar com a comparação entre o node.js e mais uma plataforma, mas agora estou em dúvida sobre a outra plataforma.

Luiz Henrique Coura

unread,
Aug 9, 2013, 3:17:54 PM8/9/13
to nod...@googlegroups.com
Blz David!

Por favor, não me entenda mal! Peço desculpa pra vc, seu orientador e qualquer colega aqui do grupo!! Mas observe que o foco do NodeJS e Apache são "distintos" e que a comparação entre eles é "injusta"!

Esse artigo do Fábio Akita pode te ajudar a encontrar alternativas:


Abs,
Luiz


2013/8/9 David de Oliveira Antunes <david.o...@gmail.com>

--

David de Oliveira Antunes

unread,
Aug 10, 2013, 10:10:14 AM8/10/13
to nod...@googlegroups.com
Eu entendi Luiz!

Eu iria fazer a comparação entre os dois no que se diz respeito a escalabilidade, mais especificamente, utilizando clusters.
Mas agora estou pensando em outras possibilidades para o meu tema, como por exemplo:
  • aplicações escaláveis baseadas no uso do Javascript;
  • vantagens de se utilizar o Javascript em server-side;
  • como melhorar a performance de uma aplicação web utilizando o Node.js;
  • programação baseada em eventos utilizando o Node.js;
  • consumo eficiente dos recursos de servidores Web utilizando o Node.js;
Agora é decidir qual fazer...

Caio Ribeiro Pereira

unread,
Aug 10, 2013, 12:39:58 PM8/10/13
to nod...@googlegroups.com
David se o seu tema será focado nas vantagens do uso do Javascript Server-side você pode comparar: 

Node.js com Rhino (Javascript que usa VM do Java) e também com Ringo (Versão melhorada do Rhino que utiliza CommonJS).

Seria legal fazer essa comparação, utilizando todos os tópicos que você citou na sua última mensagem

Rafael Henrique Moreira

unread,
Aug 12, 2013, 11:11:41 AM8/12/13
to nod...@googlegroups.com
Eu acredito que o tema sobre o paradigma orientado a eventos para solucionar o problema das 10mil conexões é bastante interessante. O foco do meu TCC tá sendo bem prático, mas acho que vou dar uma alterada, e colocar o GO na jogada aí, mostrar as vantagens e desvantagens de cada solução, e mostrar o porque eu escolhi o Node.
Reply all
Reply to author
Forward
0 new messages