Otimizando o desempenho do site

Otimizando Sites
Gráfico Ilustrativo

Hoje, se você pesquisar no Google sobre otimização de sites,  irá encontrar uma pancada de posts em diversos blogs pelo mundo lhe ensinando técnicas de cache, alteração de alguns comportamentos do site pelo cabeçalho do HTTP, criar sprites com as imagens, etc…
Bom, apesar da clássica “cada caso é um caso”, pelo tempo que tenho dentro da DialHost analisando casos de clientes legando lentidão no site acabo por apresentar aqui algumas dicas essenciais para melhorar a capacidade de usuários suportados simultaneamente por um sistema web e como reduzir o tráfego de dados aplicando algumas diretivas. Lembrando que não focarei em implementações, pois há referências o suficiente no final do artigo.

Otimizando suas imagens

Se estiver utilizando softwares para edição de imagens, procure sempre salvá-las com qualidade considerável e no tamanho exato a qual serão utilizadas, ou seja, nada de redimensionamentos no HTML. Para montar o layout, dê preferência aos sprites pois haverá apenas uma requisição ao invés de várias (as quais exigem mais do servidor causando possíveis lentidões) e você evita que alguns elementos assíncronos sejam carregados enquanto o usuário navega na página. Tome cuidado com imagens que você realmente quer que sejam indexadas pelo Google, nesse caso o sprite já não ajuda tanto. Utilize também compressores de imagem (Ex: pngcrush, jpegtran, etc), eles salvam mais alguns poucos bytes.

Preocupe-se com o protocolo HTTP

Se você é desenvolvedor, deve voltar sua atenção ao principal protocolo em que trabalha. Os cabeçalhos oferecem diversos parâmetros para controlar seu sistema durante o carregamento das páginas. São parâmetros importantes: Cache-Control e Last-Modified para controle de cache e Content-Encoding para compressão.

Em produção, reduza seus arquivos

A não ser que você queira mostrar seu CSS, JavaScript e HTML para desenvolvedores, comprense-os. Não há necessidade de arquivos bem estruturados para produção, portanto deixe seus respectivos conteúdos em uma linha apenas, assim você salva alguns bons bytes. Um bom exemplo online é o JsCompress. Teste um javascript seu nele e veja a redução ocorrida.

Utilize domínios paralelos para requisições estáticas

Um impacto para os usuários quando requisitam uma página é o seu número de componentes. Com cada componente necessitando de uma nova requisição HTTP e a RFC 2616 (HTTP/1.1) sugerindo que apenas duas requisições devem ser processadas em paralelo por hostname, surge a necessidade de maior atenção para sites grandes em questão de arquivos por página. Uma boa sugestão são subdomínios para arquivos estáticos como imagens. Ex: http://img.example.com/ contém imagens estáticas para o site http://example.com/

Como disse anteriormente, não foquei em particularidades das N existentes pois além das referências abaixo, você não precisa suar a camisa para implementar todas as otimizações que conhece caso seu sistema não precise. Este é apenas um guia geral de onde aconselho uma atenção maior após o site entrar em ambiente de produção.

O conteúdo pesado, com exemplos de implementações, detalhes de cada parâmetro e outras dicas estão listados nos 3 guias que mais me auxiliam nestas questões. São guias do Google e Yahoo! de melhores práticas, há muita informação boa lá. Dê uma passada e salve no seu Delicious:
Melhores práticas de Cache do Google
Melhores práticas de PayLoads
Guia de Performance do Yahoo!

Ah, uma boa dica também é o plugin PageSpeed que pode ser incorporado ao seu Firefox ou Chrome e lhe auxiliar bastante para melhorar a performance das suas páginas, mas lembre de não se limitar a ele.

Com a DialHost você tem os melhores planos de hospedagem de sites e atendimento 24h.Confira!