Qual o tamanho dos sites grandes e otimizados para tráfego maciço? [fechadas]


8

Como sites como o Facebook e o Twitter otimizam seus sites para tráfego massivo. Além de gastar muito dinheiro em obter os melhores servidores, o que pode ser otimizado em seu código para acomodar tráfego maciço?

Eu li sobre o cache de suas páginas para HTML estático, mas isso é impraticável para sites de redes sociais nas quais as páginas são constantemente atualizadas.


Se você obtiver em média 10000 acessos por segundo, mesmo um cache de 1 segundo economizará o processamento de scripts 9999.

Você também pode estar interessado nisso (não consigo encontrar a postagem original dos proprietários de SO): highscalability.com/blog/2009/8/5/…

Aqui estão um vídeo e uma apresentação descrevendo algumas das coisas que os engenheiros do facebook fizeram para ampliar.
aufather

Respostas:


14

O Facebook é um exemplo particularmente extremo de carga, mas, em geral, sites de alto tráfego:

  1. use uma rede de entrega de conteúdo (CDN) para distribuir ativos estáticos (CSS e JavaScript) e mídia (imagens, vídeos, etc.).
  2. use caches na memória como Memcached sempre que possível para reduzir a carga no banco de dados.
  3. ter um balanceador de carga que distribua o tráfego para um conjunto de servidores web
  4. armazenar em cache fragmentos HTML gerados (por exemplo, partes da sua página de perfil) e incluí-los ao gerar uma resposta completa

1
+1 Não poderia ter dito melhor. Para uma rede CDN, posso garantir o Amazon S3 + Cloudfront, que achei que funcionou muito bem para veicular conteúdo estático. Para cache de memória, consulte Redis também.
Martin Wickman

Por que o Facebook é um mau exemplo?

Oh, não é ruim; Estou apenas dizendo que a maioria dos sites nunca experimentará carga no nível de experiência no Facebook ou no Google.
Bill


1

Rede de entrega de conteúdo

O Facebook usa uma rede estática de entrega de conteúdo para veicular fotos e vídeos. Verifique a fonte de qualquer imagem no facebook e você verá algo como fbcdn.net.


1
Você pode pelo menos explicar o que é CDN, no contexto do Facebook? Por exemplo, como o link blog.facebook.com/blog.php?post=2406207130
Kanini


Qual é a diferença entre Cloud Computing e CDN?
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.