Web seminario varnish

24
Varnish+Nginx+Apache Web Seminário sobre como melhorar a performance do seu site ou portal utilizando tecnologias opensources. Instrutor: Gustavo C Lima

Transcript of Web seminario varnish

Page 1: Web seminario varnish

Varnish+Nginx+Apache Web Seminário sobre como melhorar a performance do seu site ou portal utilizando tecnologias opensources.

Instrutor:  Gustavo  C  Lima  

Page 2: Web seminario varnish

Tópicos do Nosso WebSeminário

•  Varnish  realmente  melhora  a  performance  do  meu  ambiente  Web  ?  

•  Vale  a  pena  migrar  o  meu  servidor  Web  Apache  para  Nginx  ?  •  Em  quais  casos  o  Nginx  não  é  recomendado  ?  •  Ataques  DDoS/DoS  versus  Varnish  +  Nginx,  como  é  essa  luta,  

tem  um  vencedor  ?  •  O  que  muda  para  ambientes  web  como    o  PHP5.4  e  PHP5.5  ?  

Perguntas e respostas que nos auxiliarão a melhorar a performance do nosso ambiente Web.

Page 3: Web seminario varnish

Objetivo

Demonstrar  como  é  possível  melhorar  a  performance  de  um  site  ou  portal,  seja  ele  feito  em  PHP  ou  HTML,  com  tecnologias  opensource,  como  Varnish+Nginx+Apache,  além  de  miUgar  uma  série  de  ataques  e  vulnerabilidades,  como  DoS/DDoS  

Performance  

Analisar  

Implementar  

Testar  

Coletar  

Page 4: Web seminario varnish

Por que analisamos a performance ?

•  Redução  de  tempo  ou  recursos  de  tecnologia    –   encontrando  pontos  a  melhorar,  reconfigurar  ou  tunar  

•  Procuramos  por  arquiteturas  escaláveis    –  ambientes  que  possam  atender,  e  rápido,  as  necessidades  de  nossos  clientes  

•  Resolução  de  problemas    –  procurando  e  resolvendo  problemas  quanto  a  gargalos  e  latência  

     

 

O trabalho de um sysadmin nunca acaba quando o assunto é performance

Page 5: Web seminario varnish

Sistema Operacional - Linux

•  Antes  de  sair  instalando  tudo  que  vc  acha  que  precisa,  análise  o  servidor  Linux  que  vc  uBlizará:  

–  Kernel  –  Rede  –  Disco  (HDD  versus  SSD)  –  File  System  –  Pacotes  necessário  para  o  seu  ambiente  funcionar  e  ser  monitorado  –  E  possível  segmentação  de  funções  e  produtos  –  (um  servidor  para  cada  coisa)  

 

Um tuning bem feito em seu linux poderá lhe salvar de diversos problemas

Page 6: Web seminario varnish

Cache

•  Redução  no  tempo  de  carregamento  de  uma  página  ou  portal  •  Melhora  a  sensação  de  navegação  para  o  usuário  •  Diminuição  da  quanBdade  de  recursos  computacionais,  tais  como  

memória  e  processador,  para  suportar  um  site  ou  portal  •  Previne  sobre-­‐carregas,  tempo  de  outage  e  até  mesmo,  ataques,  

como  DDoS/DoS  Layer  7  •  Facilidade  na  escalabilidade  do  seu  projeto  web        

 

Por que trabalhar com cache é tão importante hoje em dia ?

Page 7: Web seminario varnish

Cache

•  Redução  no  tempo  de  carregamento  de  uma  página  ou  portal  •  Melhora  a  sensação  de  navegação  para  o  usuário  •  Diminuição  da  quanBdade  de  recursos  computacionais,  tais  como  

memória  e  processador,  para  suportar  um  site  ou  portal  •  Previne  sobre-­‐carregas,  tempo  de  outage  e  até  mesmo,  ataques,  

como  DDoS/DoS  Layer  7  •  Facilidade  na  escalabilidade  do  seu  projeto  web        

 

Por que trabalhar com cache é tão importante hoje em dia ?

Page 8: Web seminario varnish

Cache - Varnish A solução de cache opensource mais utilizada do mercado

Basicamente,  o  Varnish  funciona  desta  forma,  mas  há  regras  que  podem  melhorar  ainda  mais  a  sua  performance,  além  de  aumentar  a  segurança  de  seu  site  ou  portal  –  VSF    &  Security.vcl,  por  exemplo  

Page 9: Web seminario varnish

Cache - Varnish No que o Varnish é diferente, se comparado com outros serviços ou servidores de cache ?

HDD  versus  RAM  Versus  SSD  

1

2

Fonte:  hdp://devblog.moz.com/2011/05/how-­‐to-­‐cache-­‐hdp-­‐range-­‐requests/  

Page 10: Web seminario varnish

Análise & Coleta – IOPS

hdp://eshop.macsales.com/shop/SSD/PCIe/OWC/Mercury_Accelsior/RAID  

É  o  número  de  operações  por  segundo  que  um  disco  individual  consegue  chegar.  Por  exemplo,  um  disco  SAS  de  10K  consegue  em  média  140  IOPS.    Note  que  a  diferença  é  muito  grande,  principalmente  levando  em  conta  os  novos  discos  SSD.    

Requer  atenção  em  ambientes  suportados  em  Cloud  

Cortesia do Curso de Performance and Tunig Linux do Coruja****

Page 11: Web seminario varnish

Cache - Varnish

•  Globo.com,  R7,  Wall  Mart  e  tantos  outros  portais  e  sites  brasileiros  

•  No  meu  caso,  eu  já  reduzi  um  ambiente  web  suportado  por  16  servidores  para  4,  mas  como  ?  

–  2  servidores  varnish  +  2  servidores  Nginx(Opcode  5.4  PHP  +  PHP5-­‐FPM*)  

•  Possibilidade  de  trabalhar  com  diferentes  Bpos  de  serviços  IaaS  –  Os  mais  barato  e  interessante  para  o  seu  negócio,  já  que  a  quanBdade  de  

requests  para  o  seu  servidor  web  cai  drasBcamente.  –  Que  tal  migrar  da  Amazon  para  Digital  Ocean  ?  

   

 

Alguns Casos de Sucesso quanto a implementação do Varnish

Page 12: Web seminario varnish

Cache - Varnish Só para ilustrar algumas das funções que ele possui

Fonte:  h)p://devblog.moz.com/2011/05/how-­‐to-­‐cache-­‐h)p-­‐range-­‐requests/  

Page 13: Web seminario varnish

Cache - Varnish

Acompanhando  o  funcionamento  de  um  servidor  com  Varnish  em  funcionamento.  

Page 14: Web seminario varnish

Nginx – Um dos mais rápidos WebServers Por que o Nginx virou sensação entre os grandes blogs e portais em todo o mundo ?

"Apache  is  like  Microsoo  Word,  it  has  a  million  opUons  but  you  only  need  six.  Nginx  does  those  six  things,  and  it  does  five  of  them  50  Umes  faster  than  Apache.”  by  Chris  Lea  

Menos  fuções,  menos  recursos,  uma  forma  diferente  de  lidar  com  requisições  HTTP  e  HTTPS,  entregando  assim  mais  performance.  

Page 15: Web seminario varnish

Nginx – Utilização e Crescimento Como está a utilização deste Web Server pelo mundo

Fonte:  h)p://news.netcraD.com/archives/2014/03/03/march-­‐2014-­‐web-­‐server-­‐survey.html/  

Page 16: Web seminario varnish

Nginx – Como ele funciona ? Uma nova abordagem, agora assíncrona, de resposta a requisições

Fonte:    hdp://www.aosabook.org/en/nginx.html  

Page 17: Web seminario varnish

Nginx Comparando com outros WebServers

•  Ele  é  2x  mais  rápido,  se  comparado  com  um  Apache,  mesmo  o  2.4,  e  4x  mais  rápido,  se  comparado  com  o  IIS  7  

•  Possui  menos  módulos,  mas  altamente  performáBcos  e  fáceis  de  serem  uBlizados  

•  Já  há  Waf(Web  ApplicaBon  Firewall)  compaeveis  com  ele,  como  o  Mod_security  e  o  Naxsi  

•  Há  possibilidade  de  migrar  regras  .htaccess  para  ele  •  UBliza  menos  recursos  computacionais  se  comprado  com  o  

Apache  –  seja  memória  e  CPU  •  Performa  bem  melhor  quando  integrado  com  serviços  de  cache,  

como  php-­‐apc,  opcode  e  gerenciamento  de  processos,  como  o  PHP5-­‐FPM.  

     

 

Page 18: Web seminario varnish

Nginx Comparando com outros WebServers

Page 19: Web seminario varnish

Nginx Exemplos de configurações para diferentes tipos de tráfego

Fonte:  Mastering  Nginx(Livro)  

Page 20: Web seminario varnish

Nginx E quando não poderemos utilizar o Nginx ?

Page 21: Web seminario varnish

Varnish + Nginx Trabalhando em conjunto contra ataques DDoS/DoS Layer 7

•  A  combinação  de  performance  do  conjunto  Varnish+Nginx(S.O)  gera  um  ambiente  muito  mais  robusto  e  preparado  para  diversos  Bpos  de  ataque,  principalmente  DoS  e  DDoS*  

•  Exemplos:  Coruja  de  TI  –  Sedentario&HiperaBvo  –  NãoSalvo  •  O  acesso  aos  logs  e  o  acompanhamento  das  requisições  farão  toda  

a  diferença  para  implementação  de  medidas  para  melhorar  a  performance  e  até  mesmo  o  bloqueio  de  alguns  ips  

•  Há  casos  em  que  precisamos  uBlizar  outras  alternaBvas,  como  o  CloudFlare,  Incapsula  ou  CloudProxy  

     

 

Page 22: Web seminario varnish

Varnish + Nginx No caso de ambientes PHP, a utilização de opcode, php5-fpm ou php-apc, melhora ainda mais a performance

•  Sites  ou  portais  PHP,  nos  dias  de  hoje,  precisam  rodar  em  ambientes  Web  suportados  por  tecnologias  que  gerenciem  melhor  o  processamento,  a  compilação  e  o  cache  do  código  

•  PHP5.4  trouxe  ao  mercado  o  opcode  imbuBdo,  trocando  assim  o  php-­‐apc  por  ele.  Melhora  de  mais  de  15%  quando  o  assunto  é  performance  

•  O  PHP5-­‐FPM  possibilita  um  gerenciamento  melhor  quanto  aos  processos  e  a  uBlização  correta  de  recursos  

•  No  caso  de  Performance  para  o  PHP,  há,  além  do  Opcode  e  do  APC  o  OpBmezer+    hlp://www.intracto.com/blog/testdriving-­‐zend-­‐opBmizer  

     

 

Page 23: Web seminario varnish

Dúvidas ?

blog.corujadeti.com.br/treinamentos

Page 24: Web seminario varnish