Imagens de desempenho Magento e estáticas na CDN

11

Estamos investigando outras melhorias na velocidade do Magento. O que vemos agora é que, com a seguinte configuração, a página voa. Somente as imagens vêm depois. Os arquivos principais são entregues em alguns milissegundos, mas o tempo de carregamento ainda é de 2 segundos devido às imagens.

  • cache de imagens
  • mesclar css / js
  • minify apc + memcache
  • ajustes htaccess
  • sessão / cache em tmpfs

Minha pergunta: quais são as etapas para configurar uma CDN (no meu próprio servidor)? (e isso realmente ajuda)

Eu entendo que é algo assim (mas isso não está funcionando):

  1. criar subdomínio cdn
  2. alterar raiz do documento (e / ou por que definir um cname?)
  3. alterar configuração
snh_nl
fonte

Respostas:

11

Uma CDN ou rede de entrega de conteúdo em geral funciona usando um serviço que fornece servidores em todo o mundo para entregar rapidamente arquivos de mídia ao usuário final, reduzindo a latência da rede. Isso significa que uma CDN beneficia sua loja virtual quando clientes de todo o mundo visitam sua loja.

Portanto, o que você está propondo a fazer não é estritamente um CDN. Mas, além disso, há algumas coisas que você pode fazer.

  • Configure um subdomínio que envie o mínimo possível de cabeçalhos extras (como cookies) junto com as imagens
  • Configure o NginX no seu servidor para atender arquivos estáticos. Como o NginX é muito mais rápido que o Apache, você ganhará velocidade
  • Use um serviço como http://www.jpegmini.com/ para comprimir ainda mais os arquivos JPEG.
  • Use um servidor de arquivos diferente para servir imagens, um servidor web de uso geral está configurado para servir, nesse caso, páginas PHP. Um servidor de arquivos terá uma configuração diferente, mais adequada para servir imagens rapidamente.

Para veicular imagens de um subdomínio, você precisará fazer o seguinte: adicione o subdomínio ao seu DNS (cdn.shirtsofholland.com), adicione um alias de servidor à configuração do Apache para o pacote existente em que a loja está sendo executada.

ServerAlias cdn.shirtsofholland.com

Encaminhando o subdomínio para este pacote, e depois no Magento Backend, vá para System > Configuration > General > Web > (un)secure urlmudar Base media URLparahttp://cdn.shirtsofholland.com/

O processo para o seu próprio servidor é chamado Domain Sharding . [Atualização 11jan2017] Como o compartilhamento de domínio HTTP / 2 quase não tem mais benefícios

Caso você queira uma CDN real, consulte um serviço como o OnePica, a extensão Magento pode ser encontrada aqui ou o Amazone AWS, tutorial de Ashley Schroder

Sander Mangel
fonte
9

Você não precisa de nenhum código ou plug-in extra para usar uma CDN que ofereça suporte à pesquisa de origem. Estes incluem Akamai, Cloudflare e Cloudfront da Amazon. Tudo o que você precisa fazer é apontar as URLs JS, Skin e Media da Web no Sistema> Configuração> no domínio correto:

insira a descrição da imagem aqui

Você também pode configurar registros CNAME no DNS para que o DNS responda em um subdomínio ao seu domínio raiz.

philwinkle
fonte
3

A CDN é apenas um componente do desempenho do site E2E e serve a um propósito muito específico: fornecer capacidade de escala quase ilimitada e melhorar o desempenho / velocidade com a qual os objetos estáticos são servidos aos visitantes do site, distribuindo esses objetos estáticos servidores o mais próximo possível dos visitantes em todo o mundo, usando servidores de entrega otimizados para construção.

Se o seu público estiver espalhado pelo mundo, faz muito sentido usar uma solução comercial de CDN em vez de comprar Servidores e Largura de Banda em todo o mundo. Apenas um punhado de empresas tem o dinheiro e se especializa para construir essa rede. O Google fez isso, a Netflix está fazendo isso, mas, a menos que você seja tão grande, não há sentido econômico em criar sua própria CDN e é melhor usar um dos fornecedores comerciais de CDN. Os três principais fornecedores de Nível 1 são Akamai, Limelight e EdgeCast.

Existem centenas de outros fornecedores de CDN. É um pouco como o negócio de automóveis, muitas marcas, todas têm 4 rodas e um motor, mas existem grandes diferenças entre cada marca / modelo.

Não está claro qual é o seu público ou quanto tráfego você entrega. Sem essas informações, é difícil fornecer uma boa resposta. no entanto, configurar uma CDN comercial é tão fácil quanto informar à CDN qual domínio atende aos arquivos estáticos.

supondo que static.shirtofholland.com seja usado para servir objetos estáticos (imagens, js, css ...), basta criar esse cname, deixe a CDN saber onde está o servidor Origin (para que ele possa obter o conteúdo estático e armazená-lo na borda) e, finalmente, atualize sua zona DNS para apontar esse nome estático para o seu provedor de CDN. Como alternativa, você pode usar o URL da CDN diretamente (fornecido pela sua CDN). Não é muito elegante, mas funciona.

Outro aspecto importante a considerar ao analisar a melhoria de desempenho é o seguinte:

  • DNS - seu provedor de DNS atual é rápido e confiável o suficiente? O uso de um provedor de DNS gerenciado percorrerá um longo caminho e não custará muito dinheiro.

  • CDN para entrega estática de objetos

  • ADN ou DSA para acelerar o conteúdo dinâmico (não armazenável em cache). Isso melhorará drasticamente o desempenho de qualquer site de comércio eletrônico, mas é relativamente caro (ao contrário da CDN, que é muito acessível).

  • FEO ou Front End Optimization, que pode ser feito por otimização de código (consulte o livro O'Reilly mais vendido da Souders, sites de alto desempenho) ou usando uma solução comercial que aplicará essas regras FEO (e mais) em tempo real ao seu local. Isso geralmente é feito em cima da Aceleração Dinâmica.

Laurent
fonte