Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca...
Transcript of Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca...
![Page 1: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/1.jpg)
Tudo o que você gostaria de saber sobre infraestrutura WordPress e nunca teve
coragem de perguntarAlessandro Huber dos Santos
![Page 2: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/2.jpg)
WordCamp Porto Alegre 2018 2
Short Bio &Roadmap
WordCamp Porto Alegre 2018
![Page 3: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/3.jpg)
WordCamp Porto Alegre 2018
Short Bio
● Analista de Infraestrutura de Hosting Senior @ KingHost
● MBA em Gestão Estratégica da TI @ FGV
● Engenheiro de Computação @ FURG
● Apaixonado por tuning e performance de ambientes Linux
● Pai do Enzo e torcedor fanático do Grêmio
3
Who am I?
![Page 4: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/4.jpg)
WordCamp Porto Alegre 2018 4
Roadmap
• Estruturas de Hospedagens WordPress
– O mais usual: Apache + PHP + MySQL
– Avançando um pouco: NGINX + PHP + MySQL
– Aumentando ainda mais o nível: Varnish Cache
– Mais um nível acima: Terminação SSL com Varnish Cache
• Comparativos de performance entre modelos
• Dicas para Melhorar a Performance de seu WordPress
O que será apresentado aqui?
![Page 5: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/5.jpg)
WordCamp Porto Alegre 2018 5
Estruturas de Hospedagem WordPress(ou “O que está por detrás do meu site?”)
WordCamp Porto Alegre 2018
![Page 6: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/6.jpg)
WordCamp Porto Alegre 2018
Apache + PHP(-FPM) + MySQL
6
A estrutura mais usual para servir qualquer tipo de site
![Page 7: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/7.jpg)
WordCamp Porto Alegre 2018 7
Apache + PHP(-FPM) + MySQL
• Mais conhecido como “pilha LAMP”• Padrão em grande parte dos provedores de hospedagem• Vastamente usado em ambientes de desenvolvimento• Fácil de usar e configurar• Vasta documentação na Internet
![Page 8: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/8.jpg)
WordCamp Porto Alegre 2018 8
Apache + PHP(-FPM) + MySQLApache + módulo PHP
![Page 9: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/9.jpg)
WordCamp Porto Alegre 2018 9
Apache + PHP(-FPM) + MySQLApache + proxy FastCGI + PHP-FPM
![Page 10: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/10.jpg)
WordCamp Porto Alegre 2018
Nginx + PHP-FPM + MySQL
10
Avançando um pouco o nível...
![Page 11: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/11.jpg)
WordCamp Porto Alegre 2018 11
Nginx + PHP-FPM + MySQL
• Mais conhecido como “pilha LEMP”• Requer maior conhecimento para configuração• Mais performático para conteúdo estático
– Bastante utilizada para ambientes específicos para WP• Usa necessariamente PHP-FPM para processar scripts PHP
![Page 12: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/12.jpg)
WordCamp Porto Alegre 2018 12
Nginx + PHP-FPM + MySQL
![Page 13: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/13.jpg)
WordCamp Porto Alegre 2018
Introdução ao Varnish
13
Ou “Como adicionar uma camada de cache ao seu site”
![Page 14: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/14.jpg)
WordCamp Porto Alegre 2018 14
Introdução ao Varnish
• Proxy reverso (frontend)– Conteúdo em cache é servido por ele– Conteúdo não está em cache, proxy reverso requisita o
mesmo para o web server (backend)• Armazenamento do cache em memória (mais performático) ou
em disco
![Page 15: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/15.jpg)
WordCamp Porto Alegre 2018 15
Introdução ao Varnish
• Nem todo conteúdo pode ser mantido em cache– Sessões de clientes– Áreas autenticadas
• Onde não pode ser feito cache, proxy reverso deve ser instruído a repassar a requisição para o web server
![Page 16: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/16.jpg)
WordCamp Porto Alegre 2018 16
Introdução ao Varnish
![Page 17: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/17.jpg)
WordCamp Porto Alegre 2018
Varnish com Terminação SSL
17
Ou “Como Trabalhar com Cache e SSL Juntos?”
![Page 18: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/18.jpg)
WordCamp Porto Alegre 2018 18
Varnish com Terminação SSL
• Varnish não suporta SSL por design• Terminação SSL
– Um web server recebe as requisições HTTPS e redireciona pro Varnish
– Nginx ou Pound ou HAProxy, etc.
![Page 19: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/19.jpg)
WordCamp Porto Alegre 2018 19
Varnish com Terminação SSL
![Page 20: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/20.jpg)
WordCamp Porto Alegre 2018 20
Testes de performanceOu “Como estas estruturas se saem na
prática?”
WordCamp Porto Alegre 2018
![Page 21: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/21.jpg)
WordCamp Porto Alegre 2018 21
Metodologia do Teste
● Utilizados três domínios para simulação, todos com a mesma instalação do WordPress:○ Apache ou Nginx + PHP-FPM○ Varnish + Nginx + PHP-FPM○ Terminação SSL + Varnish + Nginx + PHP-FPM
● Rodamos localmente um teste de stress com o Apache Benchmark (ab)
Como o teste foi conduzido?
![Page 22: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/22.jpg)
WordCamp Porto Alegre 2018 22
ResultadosTempo Total do Teste (em Segundos)
EstruturaConexões simultâneas
1 5 10 25 50 100Apache + PHP 81,13 38,17 35,04 39,96 35,56 33,73Nginx + PHP 75,25 37,24 35,8 35,64 34,95 34,8Varnish + Nginx + PHP 0,53 0,17 0,19 0,2 0,19 0,17
SSL + Varnish + Nginx + PHP 4,0 3,8 3,8 3,9 3,8 3,8
22
![Page 23: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/23.jpg)
WordCamp Porto Alegre 2018 23
EstruturaConexões simultâneas
1 5 10 25 50 100Apache + PHP 12,3 38,2 35 39,9 35,6 33,73Nginx + PHP 13,3 26,85 27,93 28,06 28,61 28,74Varnish + Nginx + PHP 1891,4 5849,7 5322,8 4867,3 5172,7 5845,9
SSL + Varnish + Nginx + PHP 246,6 260,4 260,9 253,3 260,4 261,3
23
ResultadosRequisições por Segundo (RPS)
![Page 24: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/24.jpg)
WordCamp Porto Alegre 2018 24
Otimização de Ambientes WordPressOu “O Que Posso Fazer para Melhorar?”
WordCamp Porto Alegre 2018
![Page 25: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/25.jpg)
WordCamp Porto Alegre 2018 25
Otimização de Ambientes WP
● Sistema operacional○ Tuning de parâmetros do kernel (performance de rede,
consumo de memória e IO)○ Separação do serviço de banco de dados dos serviços Web
● Apache ou Nginx○ Ajuste do número máximo de conexões simultâneas
● Varnish○ Ajuste na quantidade de memória a ser alocada para
armazenamento de cache
O que fazer para melhorar?
![Page 26: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/26.jpg)
WordCamp Porto Alegre 2018 26
Otimização de Ambientes WP
● PHP○ Utilize a última versão disponível (7.2)○ Utilize apenas as extensões PHP necessárias○ Ajuste coerentemente suas diretivas no php.ini
● PHP-FPM○ Escolha do gerenciador de processos ideal○ Ajuste do número máximo de processos por pool
O que fazer para melhorar?
![Page 27: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/27.jpg)
WordCamp Porto Alegre 2018 27
Otimização de Ambientes WP
● WordPress○ Mantenha instalado apenas plugins e temas ativos○ Substitua plugins que impactam sua performance○ Se não puder utilizar Varnish no seu ambiente, instale um
plugin de cache de conteúdo○ Mantenha sob controle o tamanho da sua base de dados○ Redimensione suas imagens conforme necessidade○ Desabilite o wp-cron e adicione-o como uma cron em seu
sistema operacional
O que fazer para melhorar?
![Page 28: Tudo o que você gostaria de saber sobre infraestrutura ... · infraestrutura WordPress e nunca teve coragem de perguntar Alessandro Huber dos Santos. WordCamp Porto Alegre 2018 2](https://reader034.fdocument.pub/reader034/viewer/2022052407/5be31a0609d3f280068c9c10/html5/thumbnails/28.jpg)
WordCamp Porto Alegre 2018
Dúvidas?
28