Skip to content


Acelerando seu site – Parte 1: habilitando compressão

Recentemente tenho me envolvido bastante com otimização de sites e aplicações web. Fazendo uma pesquisa diversificada em muitos sites nacionais e internacionais, pude constatar que a grande maioria dos sites deixa muito a desejar nos critérios de velocidade/eficiência. As ferramentas mais simples para medir a eficiência das páginas são o Google Page Speed e o YSlow(do Yahoo). Ambos são extensões do Firebug, então você precisa primeiro instalá-lo no Firefox.

Para uma referência dos ratings do Page Speed e YSlow, sites com rating acima de 80 podem ser considerados muito bons. É possível chegar até  90 sem configurações muito complicadas. Até hoje, o site com os maiores ratings que já encontrei em toda a internet é o site da Caelum. Rodei agora os testes e eles estão c/ 96 no Page Speed e 100 no YSlow. O meu blog está c/ 85 no Page Speed e 84 no YSlow :)

A maioria das técnicas de otimização é simples de aplicar, e é possível ter ótimos resultados com bem pouco trabalho. Escreverei uma série de posts curtos e objetivos explicando as principais técnicas e mostrando como utilizá-las nas arquiteturas mais comumente usadas.

Motivação

Todos os browsers modernos possuem recursos de descompressão de conteúdo, e boa parte dos arquivos servidos em aplicações web podem ser bem comprimidos. Habilitando compressão no servidor o tempo de resposta das páginas diminui, e com isso cai também o tráfego do servidor.

Como fazer

O servidor web mais utilizado na internet é o Apache. Mostrarei inicialmente a configuração somente dele, e caso alguém queira saber também do IIS e nginx, complementarei posteriormente.

Para habilitar a compressão, deve estar ativo mod_deflate. No Ubuntu você pode verificar os módulos ativos listando o diretório /etc/apache2/mods-enabled.

A opção mais simples de configuração é utilizar a diretiva: SetOutputFilter DEFLATE

Esta opção habilita compressão para tudo, no escopo onde for colocada. Podemos habilitar compressão em um virtual host, em um diretório ou até mesmo em todos os arquivos servidos pelo Apache.

Outra opção é habilitar compressão somente para alguns tipos de arquivos, com esta diretiva: AddOutputFilterByType DEFLATE text/html text/plain text/xml

Na documentação do mod_deflate há cenários mais complicados, como verificações do browser, manipulação de cabeçalhos HTTP, consumo de conteúdo comprimido, entre outras coisas. Se alguém tiver dúvidas posso ajudar no setup de testes.

Verificando que funcionou

Para verificar que a compressão está ativa, podemos utilizar o Poster para requisitar uma página do site e conferir o cabeçalho Content-Encoding da resposta, conforme imagem abaixo. Se aparecer o encoding gzip, a compressão está ativa.

Posted in otimização.

Tagged with , , , , , .


14 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Paulo Silveira says

    Belo post. É curioso que muitas empresas que dependem vitalmente da velocidade da pagina nao tomam cuidado com alguns pontos essenciais, como gzipar a resposta. Nao que eles precisem fazer todos os 1000 truques, mas os mais básicos já mudariam, e muito, a performance de resposta do site.

    Sobre a Caelum ter nota alta, isso é gracas ao Sergio Lopes (@sergio_caelum) e Alberto Sousa, que se dedicaram bastante.

  2. blpsilva says

    Oi Paulo, é verdade. Eu fiz um levantamento uns meses atrás de sites grandes que estão mal nesse aspecto. Alguns casos chegam a ser vergonhosos, porque são locais de onde se espera o “estado da arte”.

    Bom, parabéns pelo ótimo dever de casa que vocês fizeram, ficou extremamente otimizado.

  3. Bruno Nardini - MegaTroom says

    Mas essa solução é alterar um serviço que está preso no servidor de hospedagem, e não no código do site. Muitas hospedagem não permitem configurar o Apache, e as vezes nem o apache eles utilizam, então ficamos um pouco preso para usar dessa otimização.

  4. blpsilva says

    Oi Bruno, isso é verdade. Se você não tem controle sobre a infra-estrutura é inviável fazer algumas otimizações. Se a otimização do site for um requisito importante, a solução seria usar uma hospedagem que permita mais controle sobre a configuração do servidor.

    Sobre o web server, não é só o Apache que oferece compressão, o nginx e o IIS também suportam isso. Não conheço bem as configurações do IIS, mas certamente você conseguiria habilitar isso facilmente.

  5. sanches says

    olá, muito bom esse artigo, mas pode me dizer como ativar o o gzip no jboss ?

    obrigado

  6. blpsilva says

    Olá Sanches, tudo bem?

    Vá no JBOSS_HOME/server/default/deploy/jboss-web.deployer/server.xml (path correspondente à versão 4.2.x) e configure o conector HTTP de forma semelhante à abaixo:

    <Connector protocol=”HTTP/1.1″ port=”8080″ address=”${jboss.bind.address}” compression=”on”
    compressableMimeType=”text/html,text/xml,text/css,text/javascript, application/x-javascript,application/javascript”
    connectionTimeout=”20000″ redirectPort=”8443″ />

    Não sei se você está servindo CSS, JS e outros arquivos estáticos pelo JBoss, mas recomendo servir tais arquivos pelo Apache. No setup mais comum, você servirá estes arquivos pelo Apache com compressão gzip habilitada, e no JBoss você servirá somente páginas dinâmicas. Assim, creio que o único mime type que você desejará comprimir no JBoss é text/html, para que o markup dinâmico gerado seja comprimido.

  7. Denis says

    Sou iniciante. Vi em alguns outros sites até exemplos de código ativando gzip e cache. Não entendi muito bem isso. Ao ativar o gzip o cache não funcionará mais? Obrigado pela ajuda e parabéns pelo excelente material disponibilizado aqui. Abraço.

  8. Diogo Souza says

    No meu caso estou utilizando um servidor IBM WebSphere e não encontrei nada a respeito…

    Tem alguma ideia de como habilitar isso neste servidor?

  9. First paris hilton sex tape says

    really great sites, thank you, paris hilton sex tape here, [url= http://parishiltonsextaped.webs.com/ ]paris hilton sex tape here[/url], epxmta,

Continuing the Discussion

  1. As 7 práticas para um site otimizado | blog.caelum.com.br linked to this post on 29/07/2010

    [...] Habilite GZIP em todas as suas páginas. Se você ainda não fez isso, pare imediatamente de ler esse post e [...]

  2. As 7 práticas para um site otimizado – Por Sérgio Lopes em 29/07/10 | Andressa Agnhesi linked to this post on 31/08/2010

    [...] Habilite GZIP em todas as suas páginas. Se você ainda não fez isso, pare imediatamente de ler esse post e [...]

  3. As 7 práticas para um site otimizado « Alysson Vasconcelos linked to this post on 02/09/2010

    [...] Habilite GZIP em todas as suas páginas. Se você ainda não fez isso, pare imediatamente de ler esse post e [...]

  4. TOP 7 das Otimizações na Web « gilmariopereira linked to this post on 05/05/2011

    [...] Habilite GZIP em todas as suas páginas. Se você ainda não fez isso, pare imediatamente de ler esse post e [...]

  5. TOP 7 das Otimizações na Web: linked to this post on 08/12/2011

    [...] 0. Habilite GZIP em todas as suas páginas. Se você ainda não fez isso, pare imediatamente de ler esse post e faça. É o passo zero, nem vou contá-lo. Dicas de como fazer no Tomcat, Jetty, Apache,IIS. [...]



Some HTML is OK

or, reply to this post via trackback.



  • Buy Cheap cialis pay by check Now Cheap Pharmacy Online. No Prescription Needed.
  • Buy Cheapest online viagra Online Low Prices. Internet Prices For online viagra!
  • Buy Cheap buy viagra now online Now Drugs, Health And Beauty. Free Viagra Pills!
  • Buy Cheap online consultation viagra Online 24/Internet)(safe Pharmacy. Low Prices.
  • Buy Cheapest soft gel cialis Online 24/Online Pharmacy. Best Online.
  • Buy Cheapest buy tadalafil cialis Online Best Drugstore. WorldWide Shipping.
  • Buy Cheapest levitra prescribing Now Special Prices For levitra prescribing! Pharmacy Store.
  • Buy Cheap cialis in u s Online Special Prices For cialis in u s! Best Internet.
  • Buy Cheapest order generic viagra Now Online Medical Shop. 24/Online Pharmacy.
  • Buy Cheapest viagra buy in uk online Online Best Online. Cheap Online Pharmacy.
  • Buy viagra free shipping Online Without Prescription. Best Internet. Best Prices.
  • Buy Cheap levitra dosage Online Online Prices For levitra dosage! Best Online.
  • Buy Cheap cialis and viagra together Now Discount Pharmacy Online. WorldWide Shipping.
  • Buy Cheap generic online pharmacy viagra Online Pharmacy At The Best Price! Best Prices.
  • Buy Cheap cialis sample Now No Prescription Needed For Drugs. Low Prices.
  • Buy mail order viagra online Without Prescription Doctor. Pharmacy At The Best Price!
  • Buy Cheap cialis compare viagra Now Free Viagra Pills! Cheap Prescription Drugs.
  • Buy Cheap viagra in australia Now Cheap Pharmacy Online. No Prescription Needed.
  • Buy Cheapest viagra sample pack Now Low Prices. Internet Prices For viagra sample pack!
  • Buy Cheapest viagra drug interaction Online Online Prices For viagra drug interaction! Best Online.
  • Buy Cheapest buy cialis online uk Now Internet Prices For buy cialis online uk! Best Prices.
  • Buy Cheapest free sample of viagra Online Cheap Online Pharmacy. Low Prices.
  • Buy Cheapest colleagues viagra Online Special Prices For colleagues viagra! Best Online.
  • Buy Cheap texas vardenafil levitra hcl Now 24/Online Pharmacy. Cheap Online Pharmacy.
  • Buy Cheapest cialis medication online Now Internet Prices For cialis medication online! Pharmacy Store.
  • Buy Cheap buy cialis without a perscription Online No Prescription Needed. Best Prices.
  • Buy Cheap women take viagra Now Best Drugstore. Cheap Prescription Drugs.
  • Buy Cheap viagra alternatives Online Pharmacy Store. Discount Pharmacy Online.
  • Buy Cheap online pharmacy levitra Online Cheap Pharmacy Online. Best Internet.
  • Buy Cheapest prescription for viagra Now Special Prices For prescription for viagra! Pharmacy Store.
  • Buy Cheapest mail order levitra Online Free Viagra Pills! Best Internet.
  • Buy Cheapest side effects of levitra Now Low Prices. 24/Internet)(safe Pharmacy.
  • Buy Cheap viagra half price pharmacy Online Best Internet. Drugs, Health And Beauty.
  • Buy Cheap low cost levitra Online Cheap Prescription Drugs. Low Prices.
  • Buy Cheap to enhance effects of cialis Online 24/Online Pharmacy. Free Viagra Pills!
  • Buy Cheap cialis how long to work Now Low Prices. Cheap Meds Without Prescription.
  • Buy Cheap cialis generic price Now Pharmacy Store. 100% Satisfaction Guaranteed.
  • Buy generic price viagra Without Prescription Doctor. Internet Prices For generic price viagra!
  • Buy Cheap viagra advertisement Now Best Drugstore. Internet Prices For viagra advertisement!
  • Buy Cheapest cialis online generic Online Best Drugstore. Cheap Pharmacy Online.
  • Buy Cheap generic viagra soft tab fast Online Best Online. Internet Prices For generic viagra soft tab fast!
  • Buy Cheapest levitra and viagra Now Discount Online Pharmacy. Best Drugstore.
  • Buy Cheap real cialis Online Pharmacy Store. Discount Online Pharmacy.
  • Buy Cheap cialis super Now Cheap Online Pharmacy. WorldWide Shipping.
  • Buying Cheap viagra plus cialis. Worldwide Rx, Best Prices. WorldWide Shipping.
  • Buy buying cialis online guide Online Without Prescription. Best Internet. Low Prices.
  • Buy Cheap inexpensive cialis Now 24/Internet)(safe Pharmacy. Best Drugstore.
  • Buy Cheapest womens viagra Online Low Prices. Order Cheap Meds Without Rx.
  • Buy Cheapest generic viagra overnight delivery Online Best Prices. 24/Online Pharmacy.
  • Buying Cheap Levitra Super. Mexican Pharmacy, Best Prices. Pharmacy Store.
  • Buy Cheapest viagra or cealis Now Discount Online Pharmacy. Best Prices.
  • Buy Cheap cheapest cialis 20mg offer Online Best Prices. Online Prices For cheapest cialis 20mg offer!
  • Buy Cheap get viagra in canada Now Drugs, Health And Beauty. Best Drugstore.
  • Buy Cheap risperodol interactions with cialis viagra levitra Online Pharmacy Store. Drugs, Health And Beauty.
  • Buy Cheap viagra sex domination Online 24/Internet)(safe Pharmacy. Best Online.
  • Buy Cheap viagra propecia cialias Now Guaranteed Shipping. Drugs, Health And Beauty.
  • Buy Cheap testimonies of viagra use Now Top Online Pharmacy Supplier. Best Online.
  • Buy Cheapest viagra how works Online Best Internet. Discount Pharmacy Online.
  • Buying Cheap viagra levitra cialis. Offshore Rx, Good Prices. Online Medical Shop.
  • Buy Cheapest uprima cialis viagra Now Best Online. No Prescription Needed.
  • Buy Cheapest levitra professional safe Now 24/Online Pharmacy. Top Online Pharmacy.
  • Buy Cheapest buying viagra prescription Online Best Internet. Top Online Pharmacy.
  • Buy Cheapest levitra without a presription Online WorldWide Shipping. Best Internet.
  • Buy Cheapest viagra discount online Online Top Online Pharmacy. Best Internet.
  • Buy Cheapest once a day cialis Now 24/Internet)(safe Pharmacy. Best Prices.
  • Buy Cheapest viagra tablets Online 24/Online Pharmacy. Best Drugstore.
  • Buy Cheap discount cialis cannada Now Pharmacy Store. No Prescription Needed.
  • Buy Cheap cialis tablet Now Internet Prices For cialis tablet! Best Online.
  • Buy Cheap generic viagra free shipping Online Online Prices For generic viagra free shipping! Pharmacy Store.
  • Buy Cheap buy cialis 20mg Now Discount Online Pharmacy. Free Viagra Pills!
  • Buy Cheap super viagra pro Now No Prescription Needed. Free Viagra Pills!
  • Buy Cheapest viagra propecia cialias Now Internet Prices For viagra propecia cialias! Pharmacy Store.
  • Buy Cheapest levitra generic vardenafil Now Best Internet. 24/Online Pharmacy.
  • Buy Cheapest viagra doses Now Cheap Online Pharmacy. Pharmacy Store.
  • Buy Cheap cialis erectile disfunction Now Cheap Prescription Drugs. Pharmacy Store.
  • Buy cialis trial pack Without Prescription Doctor. Best Prices. Best Internet.
  • Buy Cheapest maximum cialis dose Now Best Internet. Cheap Prescription Drugs.
  • order viagra without prescription Online Without Prescription Low Prices. Pharmacy Store.
  • Buy Cheapest levitra dosing Online WorldWide Shipping. Online Medical Shop.
  • Buy Cheapest how to use cialis Now Cheap Online Pharmacy. WorldWide Shipping.
  • Buy Cheap levitra effects Online Low Prices. 100% Satisfaction Guaranteed.
  • Buy Cheapest viagra online uk Now Cheap Pharmacy Online. Best Internet.
  • Buy Cheapest difference between cialis and levitra Now Pharmacy At The Best Price! Best Prices.
  • Buy Cheap generic cialis overnight delivery Online Online Prices For generic cialis overnight delivery! Low Prices.
  • Buy Cheap buy cheap purchase uk viagra Now Best Drugstore. Online Prices For buy cheap purchase uk viagra!
  • Buy Cheapest china viagra Now Free Viagra Pills! Online Medical Shop.
  • Buy Cheapest buy discount viagra Now 24/Internet)(safe Pharmacy. Low Prices.
  • Buy Cheap viagra jellies Online Best Online. Buy Medications Online.
  • Buy Cheapest viagra half price pharmacy Now Top Online Pharmacy. Free Viagra Pills!
  • Buy Cheap uk alternative viagra Online Best Prices. Online Prices For uk alternative viagra!
  • Buy Cheapest buy cialis online now Online Pharmacy Store. Buy Medications Online.
  • Buy Cheapest cialis once a day Online Online Medical Shop. Best Internet.
  • Buy Cheap generic cialis vs brand cialis Online Online Medical Shop. Cheap Pharmacy Online.
  • Buy Cheap cialis without precription Online Cheap Pharmacy Online. Best Drugstore.
  • Buy Cheapest cheapest cialis uk Online Online Prices For cheapest cialis uk! Low Prices.
  • Buy Cheapest cialis rx Now WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheapest cialis discounted Now Internet Prices For cialis discounted! Best Drugstore.
  • Buy Cheapest viagra kaufen Now Cheap Pharmacy Online. Best Drugstore.
  • Buy Cheapest cialis effectiveness Now Top Online Pharmacy. 24/Online Pharmacy.
  • Buy Cheapest levitra erectile dysfunction Online 24/Online Pharmacy. Low Prices.