Aumente a performance de seu site de maneira disciplinada
-
Upload
henrique-lima -
Category
Technology
-
view
1.462 -
download
1
Transcript of Aumente a performance de seu site de maneira disciplinada
![Page 1: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/1.jpg)
Aumente a performancede seu site
de maneira disciplinada
![Page 2: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/2.jpg)
Henrique Lima
● 10 anos de experiência com desenvolvimento
● Cetelem (financeira francesa)
● TIM (Telecom)
● SaveMe (Agregador de compras coletivas)
● MoIP (Facilitador de Pagamentos)
![Page 4: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/4.jpg)
Porque aumentar a performance do meu site?
"People do not like to wait. Do not make them." 1
Marissa Mayer, Vice-presidente do Google
![Page 5: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/5.jpg)
Porque aumentar a performance do meu site?
Aumentar a conversão2
![Page 6: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/6.jpg)
Pesquisas e Números
![Page 7: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/7.jpg)
Pesquisas e números
"Em 2006, compradores on-line esperavam que uma página web carregasse em até 4 segundos. Hoje, esse mesmo cliente espera que esta página carregue em 2 segundos ou menos."
fonte: Forrester Consulting
Os consumidores estão mais exigentes
![Page 8: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/8.jpg)
Pesquisas e números
"Carregamento rápido de uma página web é a segunda coisa mais importante para o cliente, perdendo apenas para a segurança"
fonte: Web Performance Today
Os consumidores querem velocidade
![Page 9: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/9.jpg)
Pesquisas e números
E-commerce no Brasil
"... cada segundo gasto na abertura de uma página pode representar 5% a menos de conversão"
Igor Senra, CEO do MoIP
![Page 10: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/10.jpg)
Pesquisas e números
Amazon
"Amazon descobriu que aumentou sua receita em 1% a cada 100 milisegundos ganho em performance"
fonte: Amazon
![Page 11: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/11.jpg)
Pesquisas e números
"O Google aumentou o número de resultados de suas pesquisas de 10 (a 0.4s) para 30 (a 0.9s), o trafégo caiu 20%"
Marissa Mayer, VP do Google
![Page 12: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/12.jpg)
Oportunidade
![Page 13: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/13.jpg)
Salvador da Pátria
![Page 14: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/14.jpg)
O Pica das Galáxias
![Page 15: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/15.jpg)
Dinheiro!!!!!!!!!!
![Page 16: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/16.jpg)
Apache HTTP Server
● Web server mais utilizado no mundo
● Usado por 60% dos sites no mundo
● Suporte a todos os Sistemas Operacionais
● Estável
● Centenas de módulos disponíveis
● Open Source
![Page 17: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/17.jpg)
Apache HTTP Server
O que Você TEM que saber sobre o apache
● Memória é o recurso mais importante
● Mensurar mal a memória significa:
○ Usar memória Swap (muito processo / pouca memória)
○ Lentidão no sistema (pouco processo / memória sobrando)
![Page 18: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/18.jpg)
Problema
● Como faço para mensurar quantos processos eu consigo manipular simultaneamente?
![Page 19: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/19.jpg)
Multi-processing Modules (MPM)
1
2
3
![Page 20: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/20.jpg)
Multi-processing Modules (MPM)
● Responsável por manipular as requisições concorrentemente
● A escolha certa pode fazer diferença na(o):
○ Performance
○ Escalabilidade
○ Consumo de memória
○ Consumo de CPU
![Page 21: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/21.jpg)
Multi-processing Modules (MPM)
● Os MPM's mais comuns são:
○ Worker (1 Thread / Conexão)
○ Prefork (1 Processo / Conexão)
○ Winnt, BeOS e outros
![Page 22: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/22.jpg)
Processos e Threads
● Processo
○ É um módulo executável único, que é executado concorrentemente com outros módulos executáveis (Wikipedia)
○ Espaço de memória não-compartilhado
● Thread
○ Não é executável (só pode ser criado por um processo)
○ Espaço de memória compartilhado
![Page 23: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/23.jpg)
Prefork (Baseado em Processos)
![Page 24: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/24.jpg)
Worker (Baseado em Thread)
![Page 25: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/25.jpg)
Prefork (Baseado em Processos)
● Vantagens
○ Cada request é tratato por um processo separado
○ Tolerante a falhas
○ Problema no processo filho não implica no pai
○ Estável
○ Pode ser utilizado com módulos não thread-safe
![Page 26: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/26.jpg)
Prefork (Baseado em Processos)
● Vantagens
○ Processo filho tem vida curta
○ Ideal para módulos monolíticos (PHP)
○ Efetua pooling de processos (por isso prefork)
○ Mais fácil de "debuggar"
![Page 27: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/27.jpg)
Prefork (Baseado em Processos)
● Desvantagens
○ Criar um processo é custoso (e demorado)
○ Utiliza mais memória
○ Pode ser um pouco mais lento do que o Worker
![Page 28: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/28.jpg)
Worker (Baseado em Threads)
● Vantagens
○ Cada request é tratato por uma thread
○ Ideal para tráfego muito alto (mais de 3 mil requests simultâneos)
○ Usa menos memória que o prefork
○ Pode ser mais veloz que o prefork
![Page 29: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/29.jpg)
Worker (Baseado em Threads)
● Desvantagens
○ Menos estável que o prefork
○ Problemas na thread podem influenciar no processo pai
○ Problemas com módulos não thread-safe
○ Mais difícil de debuggar
![Page 30: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/30.jpg)
Qual é o melhor MPM então?
![Page 31: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/31.jpg)
Qual é o melhor MPM então?
● Prefork é mais estável
● Worker requer menos hardware
![Page 32: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/32.jpg)
Configuração - Prefork
No arquivo httpd.conf <IfModule prefork.c> StartServers 10 MinSpareServers 10 MaxSpareServers 25 ServerLimit 350 MaxClients 350 MaxRequestsPerChild 5</IfModule>
![Page 33: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/33.jpg)
Configuração - Prefork
StartServers - O número de processos que serão criados quando o apache for iniciado MinSpareServers - Número mínimo de processos que ficarão esperando por requisiçõesMaxSpareServers - Número máximo de processos que ficarão esperando por requisições MaxClients - Número máximo de requisições atendidas simultaneamente
![Page 34: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/34.jpg)
Configuração - Prefork
ServerLimit - Número mais alto que o MaxClients pode chegar (default 256) MaxRequestsPerChild - Quantas vezes um mesmo processo será reutilizado
![Page 35: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/35.jpg)
Dicas - Prefork
StartServers, MaxSpareServers e MinSpareServers
● Números muito grandes consomem memória desnecessária (dependendo do tamanho médio do seu processo)
● Sugestão
○ MinSpareServers - 10 a 20
○ MaxSpareServers - 20 a 30
○ StartServers - Igual a MinSpareServers
![Page 36: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/36.jpg)
Dicas - Prefork
ServerLimit
● Caso seu MaxClients seja maior do que 256 é obrigatório você configura-lo maior ou igual a MaxClients
● Sugestão: Igual a MaxClients
![Page 37: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/37.jpg)
Voltando ao problema inicial
● Como faço para mensurar quantos processos eu consigo manipular simultaneamente?
![Page 38: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/38.jpg)
Configuração - Prefork (Dica)
MaxClients (esse é o segredo!)
● Identifique o tamanho médio dos seus processos apache, Por exemplo: 7800 kb
● Identifique o tanto de memória RAM disponível sem o
apache rodando(deixe uns 20% sobrando), Por exemplo: 2GB (2097152 kb)
2097152 / 7800 = 268 processos
![Page 39: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/39.jpg)
Configuração Prefork (Dica)
Resumindo
● Tamanho médio dos processos apache: 7800 kb
● RAM disponível: 2097152 kb
● Manipulam 268 conexões simultâneas Caso não seja suficiente para o sistema
● Aumente a memória e calcule novamente
● Adicione uma outra máquina e faça load balance
![Page 40: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/40.jpg)
Configuração Worker
No arquivo httpd.conf <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0</IfModule>
Mesma abordagem que o Prefork!
![Page 41: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/41.jpg)
O que vimos até aqui
● Quais os aspectos mais importantes do Apache
● Como funcionam os MPM's mais utilizados
● Como configurar eficientemente os MPM's
![Page 42: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/42.jpg)
Aspectos básicos de um browser
![Page 43: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/43.jpg)
Cada arquivo é uma requisição
<html> <head> <script type="text/javascript" src="meu.js"> <link rel="stylesheet" type="text/css" href="meu.css"> </head> <body> <img src="img.jpg"> </body></html>
![Page 44: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/44.jpg)
Isso significa que ...
● 80 a 90% do tempo de carregamento de uma página é destinado ao download de arquivos (2007, Steve Sonders)
● Um servidor que suporta 350 conexões
● Servindo uma página com 50 arquivos
● Suporta no máximo 7 acessos simultâneos*
![Page 45: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/45.jpg)
Nem tão multi-thread assim ...
Quantos arquivos um browser efetua download simultaneamente em um mesmo host?
● IE6 - 2 a 6 arquivos
● Opera - de 6 a 8 arquivos
● Firefox 6 - de 6 a 14 arquivos
● Chrome 14 - de 6 a 14 arquivos
fonte: browserscope
![Page 46: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/46.jpg)
isso significa que ...
● Existem "poucas" threads para carregar os arquivos
● Arquivos muito grandes, ocupam threads que poderiam estar carregando outros arquivos
![Page 47: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/47.jpg)
Tamanho é documento
● Boa parte dos arquivos são texto
● Espaço em branco também é byte
● Imagens podem diminuir de tamanho
![Page 48: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/48.jpg)
Solução
● Reduzir o número de requests
● Aumentar a capacidade de downloads simultâneos dos browsers (mais arquivos sendo baixados ao mesmo tempo)
● Diminuir o tamanho dos arquivos
![Page 49: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/49.jpg)
Reduza o número de requests
![Page 50: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/50.jpg)
Habilite o Header "Expires"
No Arquivo httpd.conf Certifique-se de ter carregado o mod_expires LoadModule expires_module modules/mod_expires.so
Habilite o Expires
ExpiresActive OnExpiresByType image/gif A2592000
A - A partir do primeiro acesso 2592000 - Cachear este arquivo por um mês (em segundos)
![Page 51: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/51.jpg)
Habilite o Header "Expires"
● Indica a data de expiração desse arquivo no browser
● Quanto tempo o browser irá ficar sem perguntar por este arquivo ao servidor
● Somente em arquivos estáticos
● Mínimo 1 mês
● Máximo 1 ano
![Page 52: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/52.jpg)
Habilite o Header "Expires"
● Para testar
○ Entre no site www.web-sniffer.net
○ Preencha o campo url com o endereço de uma imagem em seu servidor
○ No resultado, HTTP Response Header deve aparecer
algo parecido com:
Expires: Wed, 26 Oct 2011 22:13:20 GMT
![Page 53: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/53.jpg)
Habilite o Header "ETags"
No arquivo httpd.conf
Habilite o ETags
FileTag MTime Size
![Page 54: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/54.jpg)
Habilite o Header "ETags"
● Formato padrão é: FileTag Inode MTime Size
● O formato padrão não é aconselhado para sistemas com recursos estáticos distribuidos (Inode se refere a máquina)
![Page 55: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/55.jpg)
Habilite o Header "ETags"
● Para que serve Diminui o tamanho do request O Browser faz o cache do recurso estático e guarda seu ETag (aa-41a2d4c0, por exemplo)
Quando for efetuar o request novamente envia no header If-None-Match: aa-41a2d4c0 Se o ETag não foi modificado o browser retorna "HTTP 304 Not Modified Status" (request curto)
![Page 56: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/56.jpg)
Habilite o Header "ETags"
● Para testar
○ Entre no site www.web-sniffer.net
○ Preencha o campo url com o endereço de uma imagem em seu servidor
○ No resultado, HTTP Response Header deve aparecer
algo parecido com:
ETag: aa-41a2d4c0
![Page 57: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/57.jpg)
Utilize CSS Sprites
● Um mapeador de imagem via CSS
● Todas as imagens em um arquivo só (ou quase)
● Exemplo com SpriteMe
![Page 58: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/58.jpg)
Aumente downloads simultâneos
<html> ... <body> <img src="http://img1.moip.com.br/imagem.jpg"> <img src="http://img2.moip.com.br/imagem.jpg"> <img src="http://img3.moip.com.br/imagem.jpg"> </body></html>
![Page 59: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/59.jpg)
Aumente downloads simultâneos
● Sabemos que downloads acontecem simultaneamente
● A limitação dos downloads é baseado no hostname
● Distribuir arquivos entre hostnames diferentes implica em aumentar o número de downloads simultâneos (dobra a cada novo domínio adicionado)
● Você pode criar um sub-domínio na mesma máquina do
domínio principal
![Page 60: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/60.jpg)
Limitações
● Aumenta o consumo de CPU no cliente
● Dependendo do número de domínios pode diminuir a performance
● Geralmente um domínio adicional já pode ser o suficiente
![Page 61: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/61.jpg)
Diminua o tamanho dos arquivos
![Page 62: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/62.jpg)
Habilite GZip
No arquivo httpd.conf Certifique-se de ter carregado o mod_deflate LoadModule deflate_module modules/mod_deflate.so Habilite o GZip AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript (demais content-type's)
![Page 63: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/63.jpg)
Habilite GZip
● Para que serve Trafegar dados compactados usando como filtro o content-type
![Page 64: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/64.jpg)
Habilite GZip
● Para testar
○ Entre no site www.web-sniffer.net
○ Preencha o campo url com o endereço de um javascript em seu servidor
○ No resultado, HTTP Response Header deve aparecer
algo parecido com:
Content-Encoding: gzip
![Page 65: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/65.jpg)
Tudo ao mesmo tempo agora
![Page 66: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/66.jpg)
mod_pagespeed
● Google way of life
● Módulo do apache
● Baseado em filtros
● Otimiza HTML, Javascript, CSS, Imagens
● Melhora o cache
![Page 67: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/67.jpg)
mod_pagespeed
● Principais filtros
○ CSS combine - Junta todos os CSS em um só
○ Inline CSS - Adiciona arquivos CSS pequenos ao próprio HTML
○ Inline JS - A mesma coisa que o Inline CSS
○ Minify JS - Reduz o tamanho do Javascript
○ Remove Comments - Retira os comentários
![Page 68: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/68.jpg)
mod_pagespeed
● Principais filtros
○ Rewrite CSS - Retira os espaços e diminui o valor das cores
○ Optimize Images - Diminui o tamanho das imagens
(resize, re-compress, strip metadata)
○ Move CSS to Head - Move todos os CSS's externos para o <head />
![Page 69: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/69.jpg)
Considerações finais
● Organize suas mudanças
● Priorize mudanças com maior ganho e menor esforço
● Meça sua página antes, efetue a mudança e meça novamente (para poder calcular o ganho)
● Otimize continuamente sua aplicação
![Page 70: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/70.jpg)
Links
YSlowhttp://developer.yahoo.com/yslow/
Page Speedhttp://code.google.com/intl/pt-BR/speed/page-speed/
Web Performance Todayhttp://www.webperformancetoday.com/
Web Performance Optimizationhttp://www.websiteoptimization.com/
![Page 71: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/71.jpg)
Perguntas?
![Page 72: Aumente a performance de seu site de maneira disciplinada](https://reader034.fdocumentos.tips/reader034/viewer/2022052622/5590dd9c1a28ab2d578b45f9/html5/thumbnails/72.jpg)
Obrigado