Habilitar compressão GZIP no tomcat
Habilitar o GZIP no Tomcat pode deixar seu web site ou aplicação muito mais performática, neste post vou mostrar como fazer isso.
Última atualização em: | 5990 Visualizações
Dentre as principais dicas para otimização de servidores, habilitar a compressão GZIP
é a primeira que deve ser feita.
O que é o GZIP?
É um formato de compressão criado por Jean-Loup Gailly e Mark Adler. A versão 0.1 foi lançada pela primeira vez em 31 de outubro de 1992. GZIP é baseado no algoritmo DEFLATE, que é uma combinação de codificação LZ77 e Huffman.
Pode ser considerado GZIP tanto um software para compactação de arquivos que serve de implementação de referência quanto o formato do arquivo compactado que este gera.
Habilitando o GZIP ajuda no desempenho do meu site?
A resposta não pode ser outra. Muito!
Os navegadores modernos suportam conteúdo comprimido pelo gzip e são capazes de descompactar dados gzip em texto simples. Servidores como Apache Tomcat, Glassfish e Wildfly também suportam a compressão gzip. Dessa forma, ativando a compressão gzip, todos os arquivos ficam com um tamanho muito menor, aumentando consideravelmente a performance do seu site ou portal web.
Então, recomendamos fortemente que verifique isso em seu servidor!
Como ativar o GZIP no meu servidor Tomcat?
Ativar a compactação GZIP no tomcat é relativamente simples. O procedimento se baseia na inclusão de algumas linhas adicionais no server.xml
, vou mostrar passo a passo e depois explicar como funciona.
Qual versão do Tomcat podemos utilizar GZIP?
Acredito que todas as versões do tomcat suportam a compactação GZIP, mas como trabalho com o Tomcat a algum tempo e inicie trabalhando com o Tomcat 6, desde esta versão tenho absoluta certeza que vai poder ativar a compressão GZIP sem problema algum. Caso utilize uma versão muito inferior ao tomcat 6, seria interessante atualizar para uma versão mais recente.
Primeiro - Edite o arquivo server.xml
Procure pela sua instalação do Tomcat em sua maquina ou no servidor, acesse a pasta, localize o diretório conf
e dentro desta pasta localize o arquivo server.xml
.
Arquivo:
/conf/server.xml
Abra o arquivo em seu editor preferido.
Segundo - Adicione as regras de compressão
Dentro do arquivo server.xml
localize a linha: <Connector port[...]
. Após localizar o connector adicione a tag a seguinte instrução:
compression="on"
compressionMinSize="10"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/css,text/javascript, application/x-javascript,application/javascript"
No final o código completo fica similar ao seguinte:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
compression="on"
compressionMinSize="10"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/css,text/javascript, application/x-javascript,application/javascript"/>
Note que algumas informações podem mudar de acordo com a sua configuração de servidor, preste atenção para não alterar.
Terceiro, reinicie seu servidor
Agora reinicie o serviço do tomcat, se estiver no linux pode utilizar o seginte comando dentro do diretório principal do tomcat:
./bin/catalina.sh restart
Caso reinicie seu servidor de outra forma utilize o seu padrão
Por último, verificando se funcionou
Para verificar as requisições foi analizado o cabeçalho de requisição de uma página no Firefox.
Requisição sem compressão GZIP no tomcat:
Requisição com compressão GZIP no tomcat:
Note que na primeira imagem o tamanho da requisição é 344B enquanto na segunda é 234B, também o tempo de requisição na primeira é 3.8s enquanto na segunda é 2.2s. Para finalizar na segunda temos o
Content-Enconding
do tipogzip
e primeira não tinhamos compressão nenhuma.
Ficou com dúvidas deixe nos comentários.
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.