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 com 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-‐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 ?
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 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.
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
Top Related