SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Varnish+Nginx+Apache
Web Seminário sobre como melhorar a performance do
seu site ou portal utilizando tecnologias opensources.
Instrutor:	
  Gustavo	
  C	
  Lima	
  
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.
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	
  
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
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
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 ?
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 ?
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	
  
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/	
  
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****
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
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/	
  
Cache - Varnish
Acompanhando	
  o	
  funcionamento	
  de	
  um	
  servidor	
  com	
  Varnish	
  
em	
  funcionamento.	
  
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.	
  
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/	
  
Nginx – Como ele funciona ?
Uma nova abordagem, agora assíncrona, de resposta a requisições
Fonte:	
  
	
  hdp://www.aosabook.org/en/nginx.html	
  
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.	
  
	
  
Nginx
Comparando com outros WebServers
Nginx
Exemplos de configurações para diferentes tipos de tráfego
Fonte:	
  Mastering	
  Nginx(Livro)	
  
Nginx
E quando não poderemos utilizar o Nginx ?
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	
  
	
  
	
  
	
  
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	
  
	
  
	
  
Dúvidas ?
blog.corujadeti.com.br/treinamentos
Varnish+Nginx+Apache Melhore Performance

Mais conteúdo relacionado

Mais procurados

Usando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL ServerUsando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL Serverleorsilva
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...Bruno Luiz Pereira da Silva
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancadoAmazon Web Services LATAM
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?Luis Vendrame
 
Windows server 2012 e suas distribuições -SENAI Jandira
Windows server 2012 e suas distribuições  -SENAI JandiraWindows server 2012 e suas distribuições  -SENAI Jandira
Windows server 2012 e suas distribuições -SENAI JandiraJésus Lima
 
Argohost entendendo hospedagem de sites - Conclusão
Argohost entendendo hospedagem de sites - ConclusãoArgohost entendendo hospedagem de sites - Conclusão
Argohost entendendo hospedagem de sites - ConclusãoArgoHost Hospedagem de Sites
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)Aryel Tupinambá
 
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...Aryel Tupinambá
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerTiago Bezerra Dos Santos
 
Hyper-V - avançado
Hyper-V - avançadoHyper-V - avançado
Hyper-V - avançadoFabio Hara
 
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended ClustersMarcus Vinicius Miguel Pedro
 
Cache e Performance (in portuguese)
Cache e Performance (in portuguese)Cache e Performance (in portuguese)
Cache e Performance (in portuguese)Bruno Pedro
 
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019CLEYSSON LIMA
 

Mais procurados (20)

Usando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL ServerUsando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL Server
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancado
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?
 
Arquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhasArquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhas
 
Windows server 2012 e suas distribuições -SENAI Jandira
Windows server 2012 e suas distribuições  -SENAI JandiraWindows server 2012 e suas distribuições  -SENAI Jandira
Windows server 2012 e suas distribuições -SENAI Jandira
 
Argohost entendendo hospedagem de sites - Conclusão
Argohost entendendo hospedagem de sites - ConclusãoArgohost entendendo hospedagem de sites - Conclusão
Argohost entendendo hospedagem de sites - Conclusão
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
 
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu Server
 
Hyper-V - avançado
Hyper-V - avançadoHyper-V - avançado
Hyper-V - avançado
 
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
Cache e Performance (in portuguese)
Cache e Performance (in portuguese)Cache e Performance (in portuguese)
Cache e Performance (in portuguese)
 
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
 
Servidor proxy Squid
Servidor proxy SquidServidor proxy Squid
Servidor proxy Squid
 
NoSQL Livre
NoSQL LivreNoSQL Livre
NoSQL Livre
 
Varnish cache
Varnish cacheVarnish cache
Varnish cache
 

Semelhante a Varnish+Nginx+Apache Melhore Performance

Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheDell Technologies
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressJulian Fernandes
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoSoluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoTchelinux
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioFernando Palma
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
 
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014Celso Fernandes
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpCampus Party Brasil
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...WordCamp Floripa
 
Precisamos de um barco maior introdução ao dimensionamento de aplicações
Precisamos de um barco maior introdução ao dimensionamento de aplicaçõesPrecisamos de um barco maior introdução ao dimensionamento de aplicações
Precisamos de um barco maior introdução ao dimensionamento de aplicaçõesJackson F. de A. Mafra
 

Semelhante a Varnish+Nginx+Apache Melhore Performance (20)

Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+Apache
 
Apache
ApacheApache
Apache
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPress
 
Preparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicosPreparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicos
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoSoluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014
 
XPT Framework
XPT FrameworkXPT Framework
XPT Framework
 
Ai1415 ad-tp3-g1-a
Ai1415 ad-tp3-g1-aAi1415 ad-tp3-g1-a
Ai1415 ad-tp3-g1-a
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs Php
 
Clusterização de Aplicações PHP
Clusterização de Aplicações PHPClusterização de Aplicações PHP
Clusterização de Aplicações PHP
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
 
Precisamos de um barco maior introdução ao dimensionamento de aplicações
Precisamos de um barco maior introdução ao dimensionamento de aplicaçõesPrecisamos de um barco maior introdução ao dimensionamento de aplicações
Precisamos de um barco maior introdução ao dimensionamento de aplicações
 
Aula 02 30072010
Aula 02 30072010Aula 02 30072010
Aula 02 30072010
 

Mais de Dell Technologies

Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxDell Technologies
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuningDell Technologies
 
Primeira Aula do Curso de Hardening
Primeira Aula do Curso de HardeningPrimeira Aula do Curso de Hardening
Primeira Aula do Curso de HardeningDell Technologies
 
Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...
Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...
Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...Dell Technologies
 

Mais de Dell Technologies (6)

Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - Linux
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuning
 
Web seminario hardening
Web seminario hardeningWeb seminario hardening
Web seminario hardening
 
Wordpress ownado
Wordpress ownadoWordpress ownado
Wordpress ownado
 
Primeira Aula do Curso de Hardening
Primeira Aula do Curso de HardeningPrimeira Aula do Curso de Hardening
Primeira Aula do Curso de Hardening
 
Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...
Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...
Projetos Webs Complexos - Como funciona os sites de E-commerce Americanas.Com...
 

Varnish+Nginx+Apache Melhore Performance

  • 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. 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.
  • 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. 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. 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. 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 ?
  • 7. 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 ?
  • 8. 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  
  • 9. 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/  
  • 10. 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****
  • 11. 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
  • 12. 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/  
  • 13. Cache - Varnish Acompanhando  o  funcionamento  de  um  servidor  com  Varnish   em  funcionamento.  
  • 14. 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.  
  • 15. 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/  
  • 16. Nginx – Como ele funciona ? Uma nova abordagem, agora assíncrona, de resposta a requisições Fonte:    hdp://www.aosabook.org/en/nginx.html  
  • 17. 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.    
  • 19. Nginx Exemplos de configurações para diferentes tipos de tráfego Fonte:  Mastering  Nginx(Livro)  
  • 20. Nginx E quando não poderemos utilizar o Nginx ?
  • 21. 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        
  • 22. 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