Como maximizar o download paralelo do S3

2

Tenho muitas imagens para carregar no Amazon S3 em uma única página e, às vezes, leva algum tempo para carregar todas as imagens. Ouvi dizer que dividir as imagens para carregar de diferentes subdomínios ajudaria os downloads paralelos, mas qual é a implementação real disso? Embora seja fácil dividir para subdomínios como static, image, etc; Devo fazer como 10 subdomínios (image1, image2 ...) para carregar digamos 100 imagens? Ou há algumas maneiras inteligentes de fazer?

(A propósito, estou pensando em usar o memcache para armazenar em cache as S3images; não tenho certeza se é possível. Ficaria muito grato por qualquer outro comentário. Muito obrigado!

    
por StCee 19.10.2012 / 15:48

3 respostas

1

Vou tentar classificar minha resposta em pontos que podem ajudar você com o status:

  • Como estamos falando de conteúdo estático, sugiro usar o Nginx como um proxy reverso para armazenar seu conteúdo estático. O download lento pode ser porque você está atingindo o limite de conexões simultâneas do Apache.
  • O uso de domínios ou subdomínios diferentes pode ajudar no escopo dos próprios navegadores, mas, por outro lado, pode afetar a velocidade e a classificação global de sua página, pois seus subdomínios adicionam mais solicitações de resolução de DNS não é uma coisa boa.
  • Dê uma olhada em algo como: Cloudflare.com, eles têm alguns serviços gratuitos muito bons para se beneficiar.
  • Use o cabeçalho Cache do navegador, isso pode ser de grande ajuda caso seu conteúdo não esteja mudando muito dinamicamente.
  • Tente manter seus scripts estáticos (ex. CSS, JS) sempre reduzidos ao máximo.
  • Tente usar alguns serviços como: link e link , pois eles podem fornecer detalhes muito valiosos sobre o desempenho do carregamento de suas páginas, além de dicas valiosas para obter melhores resultados.
  • Tente minimizar os pedidos que suas páginas geram (como combinar diferentes estilos ou imagens de layout em menos imagens e controlá-las por CSS)

Humm .. isso é o que eu tinha em mente atm.

    
por 20.10.2012 / 11:09
4

A maior aceleração que você obterá está migrando para o CloudFront, o CDN da Amazon, que pode ficar na frente do S3 e tornar as coisas mais rápidas para os usuários.

Depois de fazer isso, se desejar, você pode criar vários subdomínios do CloudFront que apontam para o mesmo bloco S3, que você pode atribuir aleatoriamente a imagens para que sejam carregadas em paralelo (essencialmente sua imagem image1, image2) .

    
por 19.10.2012 / 20:49
1

A ideia de dividir as imagens em vários CNAMES é boa e é melhor descrita pelas práticas recomendadas do Google: link

    
por 20.10.2012 / 11:29