A maioria dos benchmarks de servidores web são inúteis?

A maioria dos benchmarks de servidores web são inúteis?

Há uma infinidade de benchmarks por aí, comparando Apache, nginx, lighttpd, LiteSpeed/OpenLiteSpeed, Cherokee etc.

Infelizmente, parece que a maioria dos benchmarks são do tipo "pequeno arquivo estático", o que é bastante inútil...quem usa um servidor web para servir pequenos arquivos estáticos?

Como é que ninguém executa benchmarks para instalações PADRÃO de aplicativos PHP como:

  • WordPress
  • Drupal
  • phpBB
  • Galeria Menalto
  • Magento
  • OpenCart
    etc.

Isso seria uma indicação muito melhor do que funciona melhor em condições de uso real e daria às pessoas uma noção muito melhor do servidor mais apropriado para suas necessidades.

Os aplicativos php populares acima provavelmente cobririam as necessidades de uma grande parte dos usuários de servidores web.

Claro, neste tipo de benchmark, o desempenho do MySQL, PHP, etc entraria em jogo e não obteremos números de desempenho RAW para o servidor web. Mas quem realmente se importa com os números RAW? As pessoas estão realmente preocupadas apenas com o desempenho comparativo e é por isso que verificam os benchmarks.

Se começarmos a fazer este tipo de benchmarks, poderemos finalmente chegar à conclusão de que as comparações de servidores são discutíveis, pois não há diferenças significativas de desempenho entre produtos concorrentes e que existem outros itens na infraestrutura/configuração que precisam de muito mais atenção de otimização.

Tenho certeza de que as pessoas que executam benchmarks são inteligentes e sabem tudo o que foi dito acima... então, como é que ainda continuamos obtendo benchmarks inúteis de "pequenos arquivos estáticos"?

Responder1

Os benchmarks mais importantes são aqueles que você utiliza em seu aplicativo antes de fazer algumas alterações e, em seguida, executá-las novamente em seu próprio hardware, em seu próprio ambiente de servidor.

Isso não ajudará se você estiver tentando escolher entre usar a estrutura X ou a estrutura Y para seu aplicativo ou configuração, a menos que você esteja em condições de testar seus servidores com múltiplas configurações antes de entrar em produção.

Mas você está certo ao dizer que, quando analisa os benchmarks publicados, há muitos fatores que podem afetar os resultados. Eles são inúteis? Talvez não completamente; se uma estrutura ou servidor específico tiver um bom desempenho em vários testes, provavelmente terá um bom desempenho para você. Se for lento, provavelmente será relativamente lento.

Você ainda pode ter outros fatores a considerar. De que adianta uma estrutura rápida se você não tem experiência com ela e precisa lançar um produto dentro de um prazo? As pessoas que a mantêm terão experiência nessa plataforma ou serão capazes de aprendê-la rapidamente? Talvez você tenha experiência interna com uma linguagem ou servidor específico que reduziria a sobrecarga de manutenção ou a adição de módulos ou recursos. Talvez você precise ter uma plataforma que seja mantida ativamente para ter certeza de que os bugs serão corrigidos em tempo hábil ou, quando precisar de ajuda, haja uma comunidade ativa para oferecer conselhos. Afinal, o servidor mais rápido não ajuda muito se você não conseguir configurá-lo e ajustá-lo.

Responder2

Eu acho que você acabou de responder sua própria pergunta. Os benchmarks de arquivos estáticos são fáceis de configurar e medir. Depois de adicionar uma pilha de aplicativos, você passará de uma variável (o servidor web) para possivelmente dezenas. "E quanto à configuração do PHP? Talvez o servidor MySQL esteja sem RAM? A configuração do disco está correta?" e assim por diante.

Os benchmarks estáticos testam uma coisa: quão rápido um determinado servidor web pode atender uma solicitação HTTP? Em geral, isso é tudo que você deseja que um servidor web faça. Quando se trata de servidores de aplicativos, o jogo muda completamente.

E para ser justo, existem benchmarks para frameworks web e alguns servidores de aplicativos:http://www.techempower.com/benchmarks/

informação relacionada