Servidor da Web mais rápido para veicular conteúdo estático


12

Estou otimizando nosso sistema para uma entrega mais rápida de conteúdo estático e fiquei imaginando se alguém tem alguma experiência adequada com os servidores da Web mais rápidos disponíveis para esse fim.

Dos três principais candidatos que considerei, Nginx, Cherokee e Lighttpd, cada um parece ter seus próprios problemas - mas os relatórios que li on-line são um tanto tendenciosos e direcionados a qualquer servidor que o usuário esteja usando no momento.

Alguma idéia de onde encontrar uma referência adequada para esse fim específico, ou pelo menos uma lista não tendenciosa de prós e contras? Alguma experiência pessoal e armadilhas das quais devo variar?

obrigado

Edit: Serverfault.com deu a resposta como nginx. Eu ainda gostaria de ouvir alguns pensamentos de desenvolvedores deste fim do universo.


1
@ Swader: Por favor, não repost. O fluxo usual de coisas é para que essa questão seja automaticamente migrada para lá quando obtiver votos suficientes o suficiente (5). Ter duas perguntas idênticas dificulta a existência de uma fonte definitiva de respostas.
Cameron

Respostas:


12

Alguns links e comentários adicionais:

  • Houve um benchmark recente comparando Nginx, Apache, Varnish e GWan para fornecer arquivos estáticos de 100 bytes.
  • O site Cherokee tem alguns benchmarks comparando Nginx e Lighttpd.
  • Mais links: Um , Dois , Três , Quatro , Cinco
  • Esteja ciente de que os benchmarks típicos têm uma faixa estreita de validade, especialmente com uma taxa de solicitação tão grande. Por exemplo, a primeira referência é boa se tudo o que você está fornecendo são arquivos de 100 bytes, mas os resultados podem ser significativamente diferentes se você usar 1kb, 10kb ou vários tamanhos de arquivo estático. Muitos benchmarks publicados também têm o problema de que o autor tem uma boa experiência com apenas um dos produtos, o que significa que ele tem uma configuração muito boa, e não os outros produtos, o que significa que eles têm uma configuração abaixo do ideal ou até ruim, o que distorcerá os resultados.
  • Com uma taxa tão grande de solicitações, muitas coisas podem afetar os resultados do benchmark. Não apenas a configuração do servidor da web, mas a configuração do SO e o próprio hardware. Por exemplo, o uso de uma unidade SSD pode aumentar as taxas de solicitação, mas pode funcionar com o servidor da Web X melhor que Y.
  • Não basta olhar para as grandes taxas máximas de solicitação dos benchmarks, mas considerar também a média e o mínimo. Por exemplo, veja os resultados do Apache no primeiro link de benchmark.
  • A melhor referência é fazer você mesmo usando os arquivos que sua veiculação no hardware que você está usando. Mesmo benchmarks rápidos podem revelar problemas e efeitos não aparentes em outros resultados publicados.
  • Nessa escala, será realmente importante se você pode atender a 15 mil ou 20 mil solicitações / segundo? Por exemplo, a 20 kr / sa, o arquivo de 1,7 kb exigirá cerca de 100 TB de largura de banda por mês. A quantidade de dinheiro que a largura de banda custará para comprar outro servidor (ou 10) será barata em comparação. Eu não escolheria apenas pelo servidor que fornece o maior "número", mas também consideraria como é fácil configurar / usar, ele corresponde ao conjunto de recursos necessários, é bem suportado, etc.

Pessoalmente, eu uso o Lighttpd há anos e não poderia estar mais feliz com ele. Na verdade, estou surpreso com o desempenho comparado ao Nginx nos resultados do benchmark Cherokee.


Coisas brilhantes, muito úteis, muito obrigado.
Swader 21/03

G-WAN é realmente muito rápido. Este link também é interessante. kristianlyng.wordpress.com/2011/03/16/… O verniz parece ser muito bom sob alta carga.
Matt

1

A LinuxFormat Magazine (Edição 142, março de 2011) inclui uma referência do Apache, Cherokee, Lighttpd e Nginx. O Cherokee é o mais rápido, mais de x2 em comparação com o Apache e até 20% mais rápido que o Nginx.


Obrigado! Basta ler o artigo e, embora seja uma pena que apenas o último parágrafo tenha alguma informação realmente útil, é uma referência muito valiosa!
Swader

1

Se é um conteúdo puramente estático, você só precisa de um ótimo cache em frente ao servidor da Web real, eu uso os ZXTMs da Zeus, mas existem muitas outras opções.


No meu caso, trata-se de dezenas de gigabytes de material, em todas as formas, desde pequenas imagens até grandes documentos em flash. O armazenamento em cache seria insuficiente aqui, acredito. A velocidade de veiculação é o que eu preciso aumentar, e é por isso que estamos configurando um servidor de conteúdo estático. Custo não é problema. Obrigado, porém, que o ZXTM pareça interessante, dê uma olhada nisso.
Swader

soa muito semelhante à nossa configuração, temos vários shows de estática e esses zxtms fazem um bom trabalho, eles são de 64 bits, então colocamos 192 GB de memória em cada um e ele faz tudo a partir da RAM.
precisa saber é o seguinte

Isso parece loucamente eficiente e poderoso. Você poderia citar mais alguns detalhes sobre sua configuração e o tipo de estática que você serve? Você tentou comparar com outras configurações ou essa foi usada desde o início?
Swader 21/03

1

Eu não li o artigo - não parece estar on-line, estava procurando por isso que me trouxe aqui -, mas apenas olhar para um único gráfico que Alvaro postou em seu blog me faz pensar por que esse Linux Format referência foi inclinada contra outros servidores que não o Cherokee. Aconteceu incluir os números de versão dos servidores, e algo me pareceu estranho, então fiz algumas pesquisas:

Server   | Tested (Released)   | Current (Released)
---------+---------------------+--------------------
Apache   | 2.2.14 (2009-10-05) | 2.2.17 (2010-10-19)
Cherokee | 1.0.15 (2010-12-29) | 1.0.15 (2010-12-29)
Lighttpd | 1.4.26 (2010-02-07) | 1.4.28 (2010-10-22)
Nginx    | 0.7.65 (2010-02-01) | 0.8.54 (2010-12-14)

Uma nova versão brilhante do Cherokee foi lançada contra versões mais antigas - e, em alguns casos, muito mais antigas - dos outros servidores. Portanto, eu não daria muita importância aos resultados, principalmente porque o servidor mais competitivo, o Nginx, teve um grande lançamento desde a versão testada.


Essa é uma visão extremamente útil.
Swader

0

dê uma olhada em

http://www.acme.com/software/thttpd/

O paypal o utiliza para veicular conteúdo estático.


1
Obrigado, posso investigar isso, mas sou incrivelmente preconceituoso e tendencioso em relação às pessoas que fazem "software" e não podem se incomodar em montar um site decente. Parece que ficou preso em 1992 e nunca foi atualizado. Além disso, eles nunca comparou com os principais concorrentes que eu mencionei, eu me pergunto se eu posso encontrar um lugar comparação decente ...
Swader
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.