Web Seminário sobre Varnish+Nginx+Apache

1.996 visualizações

Publicada em

Slides do Webseminário do Varnish+Nginx+Apache

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.996
No SlideShare
0
A partir de incorporações
0
Número de incorporações
629
Ações
Compartilhamentos
0
Downloads
41
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Web Seminário sobre Varnish+Nginx+Apache

  1. 1. Varnish+Nginx+Apache Web Seminário sobre como melhorar a performance do seu site ou portal utilizando tecnologias opensources. Instrutor:  Gustavo  C  Lima  
  2. 2. 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  com  o  PHP5.4  e  PHP5.5  ?   Perguntas e respostas que nos auxiliarão a melhorar a performance do nosso ambiente Web.
  3. 3. 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  
  4. 4. 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
  5. 5. 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
  6. 6. 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-­‐cargas,  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 ?
  7. 7. 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  
  8. 8. 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/  
  9. 9. 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****
  10. 10. 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
  11. 11. 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/  
  12. 12. Cache - Varnish Acompanhando  o  funcionamento  de  um  servidor  com  Varnish   em  funcionamento.  
  13. 13. 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.  
  14. 14. 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/  
  15. 15. Nginx – Como ele funciona ? Uma nova abordagem, agora assíncrona, de resposta a requisições Fonte:    hdp://www.aosabook.org/en/nginx.html  
  16. 16. 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  comparado  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.    
  17. 17. Nginx Comparando com outros WebServers
  18. 18. Nginx Exemplos de configurações para diferentes tipos de tráfego Fonte:  Mastering  Nginx(Livro)  
  19. 19. Nginx E quando não poderemos utilizar o Nginx ?
  20. 20. 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        
  21. 21. 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      
  22. 22. Dúvidas ? blog.corujadeti.com.br/treinamentos

×