Otimização de infraestrutura. de websites. Fabiano Weimar dos Santos xiru@xiru.org



Documentos relacionados
Meu site Plone está lento. O que fazer? Fabiano Weimar dos Santos xiru@xiru.org

Performance Tunning de Clus ters Plone

[Análise Performance Antiga Plataforma]

1º Seminário de Software Livre Tchelinux Software Livre: leve adiante esta idéia. Soluções de Web Caching e Web Acceleration

Faça seu portal voar usando o plone.app.caching. Fabiano Weimar dos Santos [Xiru] xiru@xiru.org

INTRODUÇÃO À OTIMIZAÇÃO

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

Plone na Plataforma Mobile. Fabiano Weimar dos Santos e Giuseppe Romagnoli

22 DICAS para REDUZIR O TMA DO CALL CENTER. em Clínicas de Imagem

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Servidor proxy - Squid PROFESSOR : RENATO WILLIAM

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Aplicação Cliente. Consumo Indevido do Ambiente de Autorização

Desempenho de Web Servers

CONTRATE UM PROFISSIONAL

Centro de Inteligência em Tecnologia da Informação e Segurança Tutorial Ammyy admin

Usando Ferramentas de Busca

UMA ANÁLISE COMPARATIVA ENTRE SERVIDORES PROXY DE ALTO DESEMPENHO

Como fazer seu site/blog voar baixo sem muito esforço...

Adaptando o Plone para Plataformas Móveis. Fabiano Weimar dos Santos e Giuseppe Romagnoli

WordPress Desenvolvimento de Sites e Redes Sociais. Vinicius Massuchetto vinicius.soylocoporti.org.br

Implementação do Portal da UFRGS em Plone

Varnish-Cache: Velocidade e disponibilidade para aplicações WEB

Proposta Revista MARES DE MINAS

Servidor Proxy armazenamento em cache.

Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do. Wagner da Silva Orientando Prof. Alexander Roberto Valdameri Orientador

VirtualStore A PLATAFORMA. Uma plataforma entregue no modelo SaaS, VirtualStore é a solução da Diretorioweb para o mercado de e-commerce.

5/7/2010. Apresentação. Web Proxy. Proxies: Visão Geral. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

Aceleradores HTTP ACELERADORES HTTP PRODASEN SSITE/SSA

Práticas de Desenvolvimento de Software

OFICINA I UNISINOS 2013/1 PROF. PAULO H. CAZAROTTO

SEO E SEM. 1. Apresentação

Aplicação Cliente. Consumo Indevido do Ambiente de Autorização

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

01.00 CDNs Introdução

RELATÓRIO DA ENQUETE SOBRE INTERNET MÓVEL

Administração de Sistemas Operacionais

Transferindo a carga da autenticação remota dos servidores

Plone Yak Shaving and Bikeshedding

Capacitação IPv6.br. Serviços em IPv6. Serviços rev

MÓDULO MULTIMÉDIA. Text PROFESSOR: RICARDO RODRIGUES. MAIL: URL:


SEU SITE FUNCIONA? Teste rápido de Usabilidade e Comunicação Web

Entendendo como funciona o NAT

Como fazer uma boa apresentação em slides

Apache + Módulo Deflate = Economia de Banda

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

VERIFIQUE SE SEUS SITES ESTÃO PRONTOS PARA O BLACK FRIDAY 11 MANEIRAS DE ACABAR COM OS PROBLEMAS DE DESEMPENHO

rumo ao HTTP 2.0 o que vem por aí e o que você pode utilizar já com SPDY

Prof. Samuel Henrique Bucke Brito

Sistemas Distribuídos

Organização de arquivos e pastas

Conheça as soluções que irão transformar sua comunicação por e trazer resultados expressivos.

O dilema no uso da internet rica

Segurança em Sistemas de Informação. Agenda. Conceitos Iniciais

Ferramenta web para administração do servidor proxy Squid

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Torne seu site mais rápido e venda mais

MELHORANDO O DESEMPENHO DO SEU WORDPRESS JULIAN FERNANDES TIAGO HILLEBRANDT

Existe um limite dado pelo administrador da Rede para que ele não armazene tudo.

Tutorial Servidor Proxy com Squid baseado em Linux Acadêmicos : Felipe Zottis e Cleber Pivetta. Servidor Proxy

ALUNES MANUAL DO USUÁRIO. Guia rápido Alunes

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Índice. 3 Capítulo 1: Visão Geral do Blog. 4 Capítulo 2: SEO. 5 Capítulo 3: Backend: Como Funciona. Visão Geral Plataforma Frontend Backend

HTML5. Prof. Salustiano Rodrigues de Oliveira

GUIA RÁPIDO. DARUMA Viva de um novo jeito

Laboratório de Redes de Computadores e Sistemas Operacionais

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

OTIMIZAÇÃO DE MUNDO MOBILE PERFORMANCE WEB DESAFIOS DO

-Apresentação pequena -Essencialmente, cobre os aspectos principais de funcionamento da Akamai CDN.

Dicas de Marketing Pessoal utilizando as Mídias Sociais. Mídias Sociais e Marketing Pessoal

Etapas de uma campanha de marketing

Serviços de TIC Soluções e demandas

Criando e Publicando na Web

Analisador de Sites Automático. Palestrante: Heitor de Souza Ganzeli

Via Prática Firewall Box Gateway O acesso à Internet

Piwik Uma alternativa livre ao Google Analytics

Figura 1 - Arquitetura multi-camadas do SIE

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

O Googlebot não consegue aceder a ficheiros CSS e JS em seu blog

Utilizando o Web-Proxy e regra do cachefull com o Mikrotik V3. Por Francisco Nobre ParadaNET.com N & J TELECOM LTDA

Uma solução de desempenho para a distribuição de documentos: Habilitando a distribuição de documentos em tempo real para corporações globais

A Camada de Aplicação

Segurança na Rede Local Redes de Computadores

A importância dos padrões para a WEB e o ASA. Palestrante: Heitor de Souza Ganzeli

Sumário. Configurações Mozila Firefox... 2 Exclusão de Cookies... 2 O que são Cookies? Qual a Finalidade de um Cookie?... 2

12 Dicas para manter o site da sua empresa seguro

7 DICAS PARA UMA INDEXAÇÃO RELÂMPAGO

O e-docs foi testado e homologado pela Microsoft via certificadora internacional Verisign.

Versão 1.1 (08/2012)

Como montar uma boa apresentação de slides?

O que sua escola precisa, agora bem aqui na sua mão! Responsabilidade em gestão de instituições de ensino

Uma Publicação Grupo IPub. Guia. redes sociais para clínica de estética. Guia de redes sociais para clínica de estética

Performance Settings para ColdFusion MX 6.1 Alex Hubner, Novembro de

Depois que instalamos o Squid vamos renomear o arquivo de configuração para criarmos um do zero.

- Wireless e NTP - 272

Projeto OBAA. Relatório Técnico RT-OBAA-07 Grupo Agentes e Ontologias. Proposta de Federação de Repositórios de Objetos Educacionais.

Transcrição:

Otimização de infraestrutura para hospedagem de websites Fabiano Weimar dos Santos xiru@xiru.org

O que iremos ver? O Problema Fatos! Medindo Performance Ferramentas Dicas de Otimização de Performance

O Problema Todo site dinâmico é lento, principalmente com grandes quantidades de acessos Geralmente não é possível prever a quantidade de acessos de um site Toda aplicação está sujeita a picos de acessos em situações imprevisíveis... mas a infra-estrutura de um site deve estar preparada para o pior

Fatos! Quanto maior o tráfego de um portal, mais especializada deverá ser a solução Frameworks genéricos geralmente não tem boa performance Frameworks agilizam o desenvolvimento, mas costumam não contribuir com a performance (geralmente prejudicam)

Dependendo do tráfego de seu site, pode ser necessário reescrever muito (ou todo) código-fonte!

Mas o que fazer quando temos que hospedar algo que é lento by design?

Medindo Performance Mesmo que você considere algo rápido, efetue medidas que avaliem a performance dos sites que você irá hospedar, em cenários com centenas de usuários simultâneos O fenômeno das redes sociais pode, sem aviso prévio, ser um DDOS!

Medindo Performance Quando você já sabe que o site que será hospedado é lento, efetue medidas para ter uma idéia do ganho de performance depois das otimizações Problema: nem toda mudança de configuração irá resultar em melhorias de performance; pode ocorrer o oposto.

Não Chute! Adote métricas.

Ferramentas Medir performance de websites não é uma tarefa trivial Ferramentas dificilmente simulam o comportamento real das aplicações pois é difícil conhecer o comportamento dos usuários reais Há muitas outras ferramentas de Benchmark http://www.opensourcetesting.org/ performance.php

Ferramentas Apache Benchmark - ab Acompanha o Apache HTTP Server Costuma ser a forma mais simples de medir a performance de uma página Não testa o carregamento de css, javascript, imagens Não leva em consideração o cache que um browser faz

Ferramentas Siege - HTTP load testing and benchmarking utility http://www.joedog.org/index/siege-home

Ferramentas Flood - a profile-driven HTTP load tester http://httpd.apache.org/test/flood/

É importante ter uma medida de quanto rápido é um site, com um determinado número de acessos simultâneos.

Dicas de Otimização de Performance Geralmente é difícil dar dicas genéricas de otimização de performance Cada tecnologia tem suas manias Em linhas gerais, quanto menos páginas o servidor processa, mais rápido é o site como um todo (cache)

Dicas de Otimização de Performance Nem todo site precisa de cache Há situações onde fazer cache significa apenas mais processamento e, de fato, queda de performance (Youtube) Desde que não exista processamento envolvido, nada é mais rápido do que servir conteúdo estático

Apache mod_rewrite RewriteCond /PATH_WWW/DOMINIO/%{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME}!"" RewriteCond %{HTTP_COOKIE}! ac= RewriteCond %{HTTP:Authorization}!"" RewriteCond %{HTTP:If-None-Match}!"" RewriteRule ^/(.*) /DOMINIO/$1 [L] RewriteCond /PATH_WWW/DOMINIO/%{REQUEST_FILENAME}/index.html -f RewriteCond %{REQUEST_FILENAME}!"" RewriteCond %{HTTP_COOKIE}! ac= RewriteCond %{HTTP:Authorization}!"" RewriteCond %{HTTP:If-None-Match}!"" RewriteRule ^/(.*) /DOMINIO/$1 [L]

Apache mod_rewrite $ cd PATH_WWW $ wget -m -np http://dominio

Cache Compartilhado Nem sempre servir apenas conteúdo estático é viável CMS geralmente não se preocupam em fazer static deploy ; apenas publicam páginas dinâmicas A solução mais simples costuma ser adotar uma camada de webcache (Squid, Varnish, etc)

Cache Compartilhado Use o proxy para barrar tráfego indesejado Bots de Indexação (Googlebot, msnbot, Yahoo Slurp, etc) podem significar até 35% do tráfego Tráfego de bots é bastante custoso, pois não tem caráter repetitivo, desconsidera a relevância e visita o conteúdo em profundidade

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 06:00-23:00 http_access deny horario_comercial bot

Cache Compartilhado Para que o cache compartilhado de páginas dinâmicas seja efetivo é importante que as páginas sejam geradas com cabeçalhos HTTP adequados Há extensões do Firefox que permitem a análise facilitada de headers HTTP, como a web developer, firebug, YSlow (minha predileta)

YSlow

Fewer HTTP requests

Add Expires headers

Use a Content Delivery Network (CDN)

YSlow - Components

YSlow - Statistics

Apache mod_expires ExpiresActive On ExpiresDefault "access plus 5 minutes" ExpiresByType image/gif "access plus 1 day" ExpiresByType image/jpeg "access plus 1 day" ExpiresByType image/png "access plus 1 day" ExpiresByType text/css "access plus 1 day" ExpiresByType application/x-javascript "access plus 1 day"

Dicas de Otimização de Performance Cuidado com dependências remotas browser -> application server -> webservice -> sgbd -> storage... Num cluster, o maior custo costuma não ser apenas processador, mas sim a latência de rede

Dicas de Otimização de Performance Evite acordar muitos objetos no SGBD Evite conexões com SGBD Evite conexões LDAP Evite conexões HTTP (RSS, SOAP) Não faça conexões sem timeout

Não tente advinhar porque seu site está lento: use um profiler!

Dicas de Otimização de Performance Use NTP para sincronizar relógios dos proxies, servidores de aplicação e banco de dados Evite gerar páginas dinâmicas com headers que expiram muito rápido Falta de sincronia de relógios pode acarretar a geração de headers no passado

Dicas de Otimização de Performance Cacheability Engine Query http://www.web-caching.com/ cacheability.html Caching Tutorial for Web Authors and Webmasters http://www.web-caching.com/mnot_tutorial/

Obrigado.