35
Otimização de infra- estrutura para hospedagem de websites Fabiano Weimar dos Santos [email protected] quarta-feira, 30 de setembro de 2009

Otimização de infra estrutura para hospedagem de websites

Embed Size (px)

Citation preview

Page 1: Otimização de infra estrutura para hospedagem de websites

Otimizaccedilatildeo de infra-estrutura para hospedagem

de websitesFabiano Weimar dos Santos

xiruxiruorg

quarta-feira 30 de setembro de 2009

O que iremos ver

bull O Problema

bull Fatos

bull Medindo Performance

bull Ferramentas

bull Dicas de Otimizaccedilatildeo de Performance

quarta-feira 30 de setembro de 2009

O Problema

bull Todo site dinacircmico eacute lento principalmente com grandes quantidades de acessos

bull Geralmente natildeo eacute possiacutevel prever a quantidade de acessos de um site

bull Toda aplicaccedilatildeo estaacute sujeita a picos de acessos em situaccedilotildees imprevisiacuteveis

bull mas a infra-estrutura de um site deve estar preparada para o pior

quarta-feira 30 de setembro de 2009

Fatos

bull Quanto maior o traacutefego de um portal mais especializada deveraacute ser a soluccedilatildeo

bull Frameworks geneacutericos geralmente natildeo tem boa performance

bull Frameworks agilizam o desenvolvimento mas costumam natildeo contribuir com a performance (geralmente prejudicam)

quarta-feira 30 de setembro de 2009

Dependendo do traacutefego de seu site pode ser necessaacuterio

reescrever muito (ou todo) coacutedigo-fonte

quarta-feira 30 de setembro de 2009

Mas o que fazer quando temos que hospedar algo que eacute lento ldquoby designrdquo

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Mesmo que vocecirc considere algo raacutepido efetue medidas que avaliem a performance dos sites que vocecirc iraacute hospedar em cenaacuterios com centenas de usuaacuterios simultacircneos

bull O fenocircmeno das ldquoredes sociaisrdquo pode sem aviso preacutevio ser um DDOS

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 2: Otimização de infra estrutura para hospedagem de websites

O que iremos ver

bull O Problema

bull Fatos

bull Medindo Performance

bull Ferramentas

bull Dicas de Otimizaccedilatildeo de Performance

quarta-feira 30 de setembro de 2009

O Problema

bull Todo site dinacircmico eacute lento principalmente com grandes quantidades de acessos

bull Geralmente natildeo eacute possiacutevel prever a quantidade de acessos de um site

bull Toda aplicaccedilatildeo estaacute sujeita a picos de acessos em situaccedilotildees imprevisiacuteveis

bull mas a infra-estrutura de um site deve estar preparada para o pior

quarta-feira 30 de setembro de 2009

Fatos

bull Quanto maior o traacutefego de um portal mais especializada deveraacute ser a soluccedilatildeo

bull Frameworks geneacutericos geralmente natildeo tem boa performance

bull Frameworks agilizam o desenvolvimento mas costumam natildeo contribuir com a performance (geralmente prejudicam)

quarta-feira 30 de setembro de 2009

Dependendo do traacutefego de seu site pode ser necessaacuterio

reescrever muito (ou todo) coacutedigo-fonte

quarta-feira 30 de setembro de 2009

Mas o que fazer quando temos que hospedar algo que eacute lento ldquoby designrdquo

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Mesmo que vocecirc considere algo raacutepido efetue medidas que avaliem a performance dos sites que vocecirc iraacute hospedar em cenaacuterios com centenas de usuaacuterios simultacircneos

bull O fenocircmeno das ldquoredes sociaisrdquo pode sem aviso preacutevio ser um DDOS

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 3: Otimização de infra estrutura para hospedagem de websites

O Problema

bull Todo site dinacircmico eacute lento principalmente com grandes quantidades de acessos

bull Geralmente natildeo eacute possiacutevel prever a quantidade de acessos de um site

bull Toda aplicaccedilatildeo estaacute sujeita a picos de acessos em situaccedilotildees imprevisiacuteveis

bull mas a infra-estrutura de um site deve estar preparada para o pior

quarta-feira 30 de setembro de 2009

Fatos

bull Quanto maior o traacutefego de um portal mais especializada deveraacute ser a soluccedilatildeo

bull Frameworks geneacutericos geralmente natildeo tem boa performance

bull Frameworks agilizam o desenvolvimento mas costumam natildeo contribuir com a performance (geralmente prejudicam)

quarta-feira 30 de setembro de 2009

Dependendo do traacutefego de seu site pode ser necessaacuterio

reescrever muito (ou todo) coacutedigo-fonte

quarta-feira 30 de setembro de 2009

Mas o que fazer quando temos que hospedar algo que eacute lento ldquoby designrdquo

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Mesmo que vocecirc considere algo raacutepido efetue medidas que avaliem a performance dos sites que vocecirc iraacute hospedar em cenaacuterios com centenas de usuaacuterios simultacircneos

bull O fenocircmeno das ldquoredes sociaisrdquo pode sem aviso preacutevio ser um DDOS

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 4: Otimização de infra estrutura para hospedagem de websites

Fatos

bull Quanto maior o traacutefego de um portal mais especializada deveraacute ser a soluccedilatildeo

bull Frameworks geneacutericos geralmente natildeo tem boa performance

bull Frameworks agilizam o desenvolvimento mas costumam natildeo contribuir com a performance (geralmente prejudicam)

quarta-feira 30 de setembro de 2009

Dependendo do traacutefego de seu site pode ser necessaacuterio

reescrever muito (ou todo) coacutedigo-fonte

quarta-feira 30 de setembro de 2009

Mas o que fazer quando temos que hospedar algo que eacute lento ldquoby designrdquo

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Mesmo que vocecirc considere algo raacutepido efetue medidas que avaliem a performance dos sites que vocecirc iraacute hospedar em cenaacuterios com centenas de usuaacuterios simultacircneos

bull O fenocircmeno das ldquoredes sociaisrdquo pode sem aviso preacutevio ser um DDOS

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 5: Otimização de infra estrutura para hospedagem de websites

Dependendo do traacutefego de seu site pode ser necessaacuterio

reescrever muito (ou todo) coacutedigo-fonte

quarta-feira 30 de setembro de 2009

Mas o que fazer quando temos que hospedar algo que eacute lento ldquoby designrdquo

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Mesmo que vocecirc considere algo raacutepido efetue medidas que avaliem a performance dos sites que vocecirc iraacute hospedar em cenaacuterios com centenas de usuaacuterios simultacircneos

bull O fenocircmeno das ldquoredes sociaisrdquo pode sem aviso preacutevio ser um DDOS

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 6: Otimização de infra estrutura para hospedagem de websites

Mas o que fazer quando temos que hospedar algo que eacute lento ldquoby designrdquo

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Mesmo que vocecirc considere algo raacutepido efetue medidas que avaliem a performance dos sites que vocecirc iraacute hospedar em cenaacuterios com centenas de usuaacuterios simultacircneos

bull O fenocircmeno das ldquoredes sociaisrdquo pode sem aviso preacutevio ser um DDOS

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 7: Otimização de infra estrutura para hospedagem de websites

Medindo Performance

bull Mesmo que vocecirc considere algo raacutepido efetue medidas que avaliem a performance dos sites que vocecirc iraacute hospedar em cenaacuterios com centenas de usuaacuterios simultacircneos

bull O fenocircmeno das ldquoredes sociaisrdquo pode sem aviso preacutevio ser um DDOS

quarta-feira 30 de setembro de 2009

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 8: Otimização de infra estrutura para hospedagem de websites

Medindo Performance

bull Quando vocecirc jaacute sabe que o site que seraacute hospedado eacute lento efetue medidas para ter uma ideacuteia do ganho de performance depois das otimizaccedilotildees

bull Problema nem toda mudanccedila de configuraccedilatildeo iraacute resultar em melhorias de performance pode ocorrer o oposto

quarta-feira 30 de setembro de 2009

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 9: Otimização de infra estrutura para hospedagem de websites

Natildeo ChuteAdote meacutetricas

quarta-feira 30 de setembro de 2009

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 10: Otimização de infra estrutura para hospedagem de websites

Ferramentas

bull Medir performance de websites natildeo eacute uma tarefa trivial

bull Ferramentas dificilmente simulam o comportamento real das aplicaccedilotildees pois eacute difiacutecil conhecer o comportamento dos usuaacuterios ldquoreaisrdquo

bull Haacute muitas outras ferramentas de Benchmark

bull httpwwwopensourcetestingorgperformancephp

quarta-feira 30 de setembro de 2009

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 11: Otimização de infra estrutura para hospedagem de websites

Ferramentas

bull Apache Benchmark - ab

bull Acompanha o Apache HTTP Server

bull Costuma ser a forma mais simples de medir a performance de uma paacutegina

bull Natildeo testa o carregamento de css javascript imagens

bull Natildeo leva em consideraccedilatildeo o cache que um browser faz

quarta-feira 30 de setembro de 2009

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 12: Otimização de infra estrutura para hospedagem de websites

Ferramentas

Siege - HTTP load testing and benchmarking utility

httpwwwjoedogorgindexsiege-home

quarta-feira 30 de setembro de 2009

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 13: Otimização de infra estrutura para hospedagem de websites

Ferramentas

Flood - a profile-driven HTTP load tester

httphttpdapacheorgtestflood

quarta-feira 30 de setembro de 2009

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 14: Otimização de infra estrutura para hospedagem de websites

Eacute importante ter uma medida de quanto raacutepido eacute um site

com um determinado nuacutemero de acessos simultacircneos

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 15: Otimização de infra estrutura para hospedagem de websites

Dicas de Otimizaccedilatildeo de Performance

bull Geralmente eacute difiacutecil dar dicas ldquogeneacutericasrdquo de otimizaccedilatildeo de performance

bull Cada tecnologia tem suas ldquomaniasrdquo

bull Em linhas gerais quanto menos paacuteginas o servidor processa mais raacutepido eacute o site como um todo (cache)

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 16: Otimização de infra estrutura para hospedagem de websites

Dicas de Otimizaccedilatildeo de Performance

bull Nem todo site precisa de cache

bull Haacute situaccedilotildees onde fazer cache significa apenas mais processamento e de fato queda de performance (Youtube)

bull Desde que natildeo exista processamento envolvido nada eacute mais raacutepido do que servir conteuacutedo estaacutetico

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 17: Otimização de infra estrutura para hospedagem de websites

Apache mod_rewrite

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAME -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

RewriteCond PATH_WWWDOMINIOREQUEST_FILENAMEindexhtml -f RewriteCond REQUEST_FILENAME RewriteCond HTTP_COOKIE __ac= RewriteCond HTTPAuthorization RewriteCond HTTPIf-None-Match RewriteRule ^() DOMINIO$1 [L]

quarta-feira 30 de setembro de 2009

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 18: Otimização de infra estrutura para hospedagem de websites

Apache mod_rewrite

bull $ cd PATH_WWW

bull $ wget -m -np httpDOMINIO

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 19: Otimização de infra estrutura para hospedagem de websites

Cache Compartilhado

bull Nem sempre servir apenas conteuacutedo estaacutetico eacute viaacutevel

bull CMS geralmente natildeo se preocupam em fazer ldquostatic deployrdquo apenas publicam paacuteginas dinacircmicas

bull A soluccedilatildeo mais simples costuma ser adotar uma camada de webcache (Squid Varnish etc)

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 20: Otimização de infra estrutura para hospedagem de websites

Cache Compartilhado

bull Use o proxy para barrar traacutefego indesejado

bull Bots de Indexaccedilatildeo (Googlebot msnbot Yahoo Slurp etc) podem significar ateacute 35 do traacutefego

bull Traacutefego de bots eacute bastante custoso pois natildeo tem caraacuteter repetitivo desconsidera a relevacircncia e visita o conteuacutedo ldquoem profundidaderdquo

quarta-feira 30 de setembro de 2009

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 21: Otimização de infra estrutura para hospedagem de websites

Bloqueio de Bots (Squid)

acl badrobot browser -i Twiceler

acl badrobot browser -i Yeti

acl badrobot browser -i Daumoa

http_access deny badrobot

acl bot browser -i bot

acl bot browser -i crawler

acl bot browser -i Slurp

acl horario_comercial time MTWHF 0600-2300

http_access deny horario_comercial bot

quarta-feira 30 de setembro de 2009

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 22: Otimização de infra estrutura para hospedagem de websites

Cache Compartilhado

bull Para que o cache compartilhado de paacuteginas dinacircmicas seja efetivo eacute importante que as paacuteginas sejam geradas com cabeccedilalhos HTTP adequados

bull Haacute extensotildees do Firefox que permitem a anaacutelise facilitada de ldquoheadersrdquo HTTP como a ldquoweb developerrdquo firebug YSlow (minha predileta)

quarta-feira 30 de setembro de 2009

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 23: Otimização de infra estrutura para hospedagem de websites

YSlowquarta-feira 30 de setembro de 2009

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 24: Otimização de infra estrutura para hospedagem de websites

Fewer HTTP requestsquarta-feira 30 de setembro de 2009

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 25: Otimização de infra estrutura para hospedagem de websites

Add Expires headersquarta-feira 30 de setembro de 2009

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 26: Otimização de infra estrutura para hospedagem de websites

Use a Content Delivery Network (CDN)

quarta-feira 30 de setembro de 2009

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 27: Otimização de infra estrutura para hospedagem de websites

YSlow - Componentsquarta-feira 30 de setembro de 2009

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 28: Otimização de infra estrutura para hospedagem de websites

YSlow - Statisticsquarta-feira 30 de setembro de 2009

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 29: Otimização de infra estrutura para hospedagem de websites

Apache mod_expires

ExpiresActive On

ExpiresDefault access plus 5 minutes

ExpiresByType imagegif access plus 1 day

ExpiresByType imagejpeg access plus 1 day

ExpiresByType imagepng access plus 1 day

ExpiresByType textcss access plus 1 day

ExpiresByType applicationx-javascript access plus 1 day

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 30: Otimização de infra estrutura para hospedagem de websites

Dicas de Otimizaccedilatildeo de Performance

bull Cuidado com dependecircncias remotas

bull browser -gt application server -gt webservice -gt sgbd -gt storage

bull Num cluster o maior custo costuma natildeo ser apenas processador mas sim a latecircncia de rede

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 31: Otimização de infra estrutura para hospedagem de websites

Dicas de Otimizaccedilatildeo de Performance

bull Evite acordar muitos objetos no SGBD

bull Evite conexotildees com SGBD

bull Evite conexotildees LDAP

bull Evite conexotildees HTTP (RSS SOAP)

bull Natildeo faccedila conexotildees sem timeout

quarta-feira 30 de setembro de 2009

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 32: Otimização de infra estrutura para hospedagem de websites

Natildeo tente advinhar porque seu site estaacute

lento use um profiler

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 33: Otimização de infra estrutura para hospedagem de websites

Dicas de Otimizaccedilatildeo de Performance

bull Use NTP para sincronizar reloacutegios dos proxies servidores de aplicaccedilatildeo e banco de dados

bull Evite gerar paacuteginas dinacircmicas com headers que expiram muito raacutepido

bull Falta de sincronia de reloacutegios pode acarretar a geraccedilatildeo de headers ldquono passadordquo

quarta-feira 30 de setembro de 2009

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 34: Otimização de infra estrutura para hospedagem de websites

Dicas de Otimizaccedilatildeo de Performance

bull Cacheability Engine Query

bull httpwwwweb-cachingcomcacheabilityhtml

bull Caching Tutorial for Web Authors and Webmasters

bull httpwwwweb-cachingcommnot_tutorial

quarta-feira 30 de setembro de 2009

Obrigado

quarta-feira 30 de setembro de 2009

Page 35: Otimização de infra estrutura para hospedagem de websites

Obrigado

quarta-feira 30 de setembro de 2009