Servindo arquivos estáticos com o amazon s3 vs nginx

5

Digamos que eu tenha um aplicativo django

Será melhor (em termos de desempenho) veicular os arquivos estáticos com s3 ou configurar um servidor nginx em uma instância ec2?

    
por Julien Grenier 31.05.2011 / 04:24

2 respostas

5

O Nginx será mais rápido para recursos do site, como CSS, imagens de navegação, etc. Se o navegador do cliente já tiver uma conexão aberta para a página dinâmica e os keepalives forem configurados, usará a mesma conexão.

Agora você pode usar o CloudFront com o conteúdo hospedado do EC2 para que o S3 não seja mais um requisito nesse nível. Além disso, você pode usar o cloudfront com o django gerado, mas não alterando frequentemente o conteúdo. Você pode usar o cache interno do nginx para conteúdo semi-dinâmico. Se você tiver que executar um servidor para a parte do django, não é muito trabalho extra.

Se os arquivos que você precisa hospedar são maiores, o S3 começa a parecer melhor porque o desempenho do disco em instâncias EC2 menores não é o ideal.

No final, a menos que você esteja lidando com dezenas de solicitações por segundo, ambas as opções estarão próximas o suficiente para que seja difícil medir as diferenças.

    
por 31.05.2011 / 06:17
3

Há muitas coisas que podem ser usadas para isso, mas se for uma opção, eu só serviria diretamente do S3 se você puder. O desempenho seria pelo menos tão bom ou possivelmente melhor do que usar o nginx, e isso lhe dará um caminho fácil para começar a usar o CloudFront CDN da AWS no futuro, se necessário.

    
por 31.05.2011 / 04:32