Pergunta

Então, eu apenas o download YSlow para Firebug e ter tomado uma olhada nos resultados para um site que estou construindo.

Eu estou vendo recomendações, por exemplo, para usar ETags, domínio sem cookies para meus componentes estáticos e add expira cabeçalhos.

Estou pensando, bem, eu poderia sair e corrigir estes, mas há mais provável um monte de outras otimizações que eu poderia fazer em primeiro lugar, v.g. cache resultados de chamadas de banco de dados ou algo similar.

Eu não acho que este site vai ter 'muito' uso para justificar recomendações de YSlow.

Eu sei que você nunca deve otimizar antes que você sabe que você precisa, mas estou pensando coisas como ETags e expira cabeçalhos certamente apenas entram em jogo em sites com tráfego muito pesado.

Se, por exemplo, eu escrevi uma má aplicação que faz 5 (relativamente pequeno) chamadas para o banco de dados por solicitação, e YSlow está me dizendo que meus 14 imagens não estão em um domínio livre de biscoito, em seguida, qual desses duas otimizações devem ser abordados em primeiro lugar?

Foi útil?

Solução

YSlow é bom para verificar a "experiência do usuário", que você os usuários estão vendo. Suas recomendações são para ajudar a tornar a página aparecer para carregar mais rápido. Por exemplo. 14 imagens para uma imagem e spriting é puramente uma coisa visual. A regra é porque os navegadores só pode baixar algumas imagens em paralelo a qualquer momento.

Eu sempre enfrentar backend otimizações primeiro como eles podem ajudá-lo no sentido de tornar a sua escalável local, se ele nunca fica tão grande.

Outras dicas

Em nenhum YSlow nosso guru .htaccess. Mas eu recentemente construído um site Joomla e usado YSlow para encontrar áreas de melhoria. As duas áreas de YSlow que você perguntou sobre acima - "Add Expira cabeçalhos" e "tags entidade Configurar (GATE)" - I abordado através de um arquivo .htaccess na raiz do meu domínio

.

Add Expira cabeçalhos

Yahoo diz: "páginas da Web estão se tornando cada vez mais complexo, com mais scripts, folhas de estilo, imagens e flash sobre eles visita de um primeiro-tempo para uma página pode exigir várias solicitações HTTP para carregar todos os componentes Usando Expira cabeçalhos.. estes componentes ficam em cache, o que evita solicitações HTTP desnecessárias em vista posteriores página. Expira cabeçalhos são mais frequentemente associados com imagens, mas pode e deve ser usado em todos os componentes da página, incluindo scripts, folhas de estilo e do flash. "

Para resolver isso, eu encontrei e acrescentou o seguinte bloco de código para o meu arquivo .htaccess (nota: a mudança OPENANGLEBRACKET para "<" e CLOSEDANGLEBRACKET para ">"):


    ########## Begin - Expires Headers
    #
    OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET 
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/plain "access plus 1 week"
    ExpiresByType video/x-flv "access plus 1 month"
    OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
    #
    ########## End - Joomla! core SEF Section

Configurar tags de entidade (ETags)

Yahoo Diz: "marcas de entidade (GATE) são um mecanismo de servidores web e o uso do navegador para determinar se um componente em cache do navegador corresponde a um no servidor de origem Desde ETags são tipicamente construídos usando atributos que as tornam únicas a um. servidor específico hospedagem de um site, as tags não irá corresponder quando um navegador recebe o componente original de um servidor e depois tenta validar esse componente em um servidor diferente ".

Decidi remover todas Etags, que me deu um A Grade, adicionando isso ao meu arquivo .htaccess:


    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags

Estas duas alterações no meu arquivo .htaccess me deu um Grades para estas duas categorias YSlow.

Fix qualquer um o seu profiling diz que está causando o maior desaceleração de page views.

Lembre-se que tudo o que você corrigir isso YSlow está reclamando provavelmente irá ajuda mais tarde sem você ter que fazer isso de novo, enquanto a otimização de banco de dados será uma tarefa em curso.

ou seja, se você dividir suas imagens sobre vários domínios e torná-los sem cookies, então como você adicionar mais imagens que deve ser dividido ao longo desses domínios (espero automaticamente ) e não vai exigir um esforço novamente.

Além disso, Expira cabeçalhos levar a diminuir os níveis de pedidos no seu servidor (desde as respostas podem ser armazenadas em cache), que irá Acelerar o visitas para todos .

Tenha em mente que YSlow não pode ver o seu código de backend, por isso só pode basear suas recomendações sobre a interação do navegador com o seu site. Você certamente deve corrigir as suas chamadas de banco de dados em primeiro lugar. recomendações do YSlow sobre vários pedidos, gzip, etc, são bastante sólido, mas está sempre me dizendo para usar uma rede de entrega de conteúdo - que não faz sentido para um pequeno site. Só não gastar muito tempo / dinheiro em cada recomendação cegamente, e fator em que você sabe e YSlow não.

Você está muito correta, otimizando dentro do código do aplicativo como

  • Otimizando o banco de dados consultas lentas
  • Cache de consultas executadas com freqüência
  • Componente nível caching de componentes utilizados com frequência
  • Gerais otimizações de velocidade de código do aplicativo caro

lhe dará ganhos de desempenho muito mais elevadas que as recomendações YSlow na maioria dos casos.

otimizações YSlow são geralmente dirigidas a melhorar o desempenho de peças estáticas de seu site, que geralmente já terá um desempenho melhor do que as partes dinâmicas, antes de qualquer ajustes.

Por favor, por favor não usar os cookies e expira para o seu conteúdo estático.

Ele não apenas ajudá-lo, ele ajuda me .

Eu uso um link mais lento à Internet em casa, 144 Kbps. Muitas vezes eu tenho que carregado à capacidade, baixando atualizações ou arquivos de vídeo. Isso faz com que sua latência ir até 800 ms ou assim.

Web sites que exigem um monte de ida e volta para o If-Modified-Since verificações tempo de carregamento muito lentamente. Sites que o uso Expira adequadamente carregam rapidamente, porque só o conteúdo dinâmico tem que realmente carregar em.

O código de back-end é mais muitas vezes mais rápido do que o código frontend. Tente manter a quantidade de recursos externos (imagens de fundo de estilo CSS, arquivos CSS e JavaScript) até um mínimo.

Isso seria o único otimização mais crucial pode fazer imho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top