BT

Início Notícias Comparando o desempenho de diversos Frameworks Web

Comparando o desempenho de diversos Frameworks Web

Favoritos

A TechEmpower vem executando benchmarks desde o ano passado, tentando medir e comparar o desempenho dos frameworks web. Para esses benchmarks o termo "framework" é usado vagamente, incluindo plataformas e micro-frameworks.

Os resultados do primeiro benchmark foram publicados em março de 2013, e os testes foram conduzidos usando 2 configurações de hardware: duas instâncias do Amazon EC2 m1.large e dois Intel Sandy Bridge Core i7-2600K com 8GB de RAM, ambas as configurações usando Gbit Ethernet. Os frameworks tinham que responder com um simples {"message" : "Hello, World!"}. A tabela a seguir apresenta um extrato dos resultados, mostrando os 10 frameworks web mais comuns dos 24 testados, junto com seus resultados medidos em requisições por segundo (RPS) e percentual do melhor resultado.

image

Durante o ano, o benchmark evoluiu para cobrir 119 frameworks, incluindo vários tipos de consultas e respostas e executando em uma configuração de hardware adicional: dois Dell R720xd Dual-Xeon E5 v2 com 32GB de RAM cada e 10 Gbit Ethernet.

A seguir são apresentados os extratos da 9ª rodada do benchmarking que foi publicada recentemente, desta vez foram realizados os testes em três configurações de hardware diferentes:

image

Algumas observações:

Enquanto o hardware de alta qualidade certamente tem um desempenho melhor do que o inferior em termos de RPS, há uma grande mudança na hierarquia para os melhores frameworks, como é o caso para o Xeon E5 vs o Intel I7. Isto pode ser relacionado ao fato de que há muito em mais de 90% para a Intel I7, a TechEmpower atribui isso a um gargalo gerado pela Ethernet 1Gbit usada na respectiva configuração:

Desde a primeira rodada, sabíamos que os frameworks de alto desempenho tinham sido limitados pela nossa rede gigabit… Com uma ampla largura de banda de rede, os frameworks de alto desempenho são ainda mais diferenciados.

O Google Go é o primeiro no Intel I7, mas tem a maior queda de desempenho no Xeon E5 apesar de usar todos os núcleos, enfatizando a importância do ajuste de desempenho para certos tipos de arquiteturas de hardware, como notado pela TechEmpower:

O ambiente de teste de pico [Xeon E5] utiliza servidores com 40 núcleos HT através de dois processadores Xeon E5, e os resultados mostram o quão bem cada framework escala em alto paralelismo em um único nó do servidor.

Claro que outras variáveis estão em jogo, como significantemente mais núcleos de processador HT (40 versus 8, para os testes no I7) e uma arquitetura de sistema diferente, NUMA.

O Amazon EC2 M1.large é muito insatisfatório comparando com outras configurações, fazendo pensar se a relação preço/desempenho ainda é atraente para instâncias de computação na nuvem.

A maioria dos frameworks são baseados no Linux. Nenhum framework Windows foi testado no EC2 ou I7. O melhor framework Windows executou com 18,6% do líder no E5. O HHVM do Facebook também não aparece no EC2, mas é provável que HHVM seja ajustado de forma diferente quando executado no hardware do Facebook.

Alguns dos frameworks mais conhecidos tem desempenho muito ruim em todas as configurações usadas, como o Grails, Spring, Django e Rails.

O desempenho do recém-lançado 1.3 Dart dobrou e deve estar coerente com Node.js, mas ele não aparece no benchmark porque foi usado o Dart 1.2 nesta rodada. Isto pode ser aplicado para outros frameworks que melhoraram a latência e os resultados dessa melhora serão mostrados nos futuros benchmarks.

Como acontecem com outros benchmarks de desempenho, os resultados são discutíveis uma vez que dependem do hardware, rede e configurações de sistemas. A TechEmpower convida os interessados a verificar os resultados para seus frameworks favoritos e dar um fork do código no GitHub.

O benchmark inclui explicações detalhadas sobre como são realizados, as configurações de hardware e os componentes de cada framework: a linguagem, servidor web, OS, entre outros.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.