Quantos domínios para dividir componentes?

10

Entendo como a divisão de componentes entre domínios pode maximizar downloads paralelos e permitir que você tenha domínios estáticos sem cookies, mas como há um custo de tempo para cada pesquisa de domínio, qual é o número ideal de domínios a serem usados?

theotherreceive
fonte

Respostas:

8

Minha recomendação é que, para sites relativamente simples, um domínio "conteúdo estático" seja suficiente. As pesquisas de DNS devem ser armazenadas em cache, portanto, afetam apenas o primeiro contato com esse servidor, mas ainda devem ser mantidas no mínimo.

Você pode colocar todas as suas Javascript, CSS e imagens estáticas nele para reduzir a sobrecarga do processamento de cookies e fornecer a opção de descarregar esse trabalho para um servidor físico diferente. Se você estiver executando vários sites populares e relacionados (por exemplo, estouro de pilha, falha no servidor etc.), poderá compartilhar um site estático entre todos (por exemplo, sstatic.net).

Obviamente, pode haver situações em que mais domínios são apropriados (por exemplo, um site de hospedagem de fotos pode descarregar a foto servida para outro domínio separado).

Mark Hatton
fonte
Se você usa estruturas JavaScript, também pode solicitar ao Google que as hospede ( code.google.com/apis/ajaxlibs ). Isso tem o benefício adicional de que, se o usuário já visitou outro site que obtém JS do Google, ele pode já o ter em cache.
Michael Mior
2

Posso pensar em um caso extremo em que os benefícios das solicitações de vários hosts superam os custos de instalação do DNS.

Ao veicular blocos de mapa de um mapa escorregadio no estilo do Google Maps, você pode ver os benefícios de distribuir seus locais de bloco virtualmente por um número muito maior de hosts, mesmo que todos estejam apontando para os mesmos recursos subjacentes (imagens). Nesses casos, você deve garantir que os recursos tenham uma "afinidade" definida para um host com base em suas propriedades (como uma combinação do MOD dos números de linha e coluna) para que o cache do navegador funcione da melhor maneira possível e as solicitações sejam equilibradas em todos os hosts para qualquer extensão de exibição.

Essa situação é muito especializada, mas basicamente enfatiza que, se você tiver um caso de uso fora do padrão, teste tudo e não se esqueça de incluir números brutos e desempenho percebido / UX de todos os cenários.

JasonBirch
fonte