Nesse artigo irei falar um pouco sobre servidor de alto tráfego na Amazon AWS para WordPress.
Tenho trabalhado muito em projetos de clientes que precisam colocar sites Wordpress em servidores ou hospedagem de alto tráfego, e na AWS temos todo o amparato para montar um ambiente de alta disponibilidade focado em Alto Tráfego.
No entanto, existem outros provedores que podemos trabalhar tranquilamente como o Google Cloud, DigitalOcean, Vultr e outros. Claro, com metodologias ou ferramentas distintas.
No mês 08/2020, implementei três estruturas para hospedagem de alto tráfego, 02 deles na AWS e 1 no GCP. Todos eles com plataformas em WordPress, 02 plataformas de eventos/streaming e 01 grande portal de notícia.
Cloud Provider | Tráfego | Nº Projetos |
Amazon AWS | 10 Milhões pageviews/mês | 1 |
Amazon AWS | 5 Milhões pageviews/mês | 2 |
Google Cloud Platform | 15 Milhões pageviews/mês | 1 |
Nesse artigo irei comentar um pouco sobre esse tipo de ambiente, os famosos servidores para Alto Tráfego, mas com um foco maior na Amazon AWS pois é onde mais trabalho.
O que é uma hospedagem de alto tráfego ?
Hospedagem de Alto Tráfego é um modelo de infraestrutura que foi projetado para suportar um determinado número de acessos simultâneos sem que o site caia. Então, conforme o número de usuários aumentam, novas configurações e até modelos de estruturas são utilizados.
Mas uma hospedagem de alto tráfego não significa que você tem uma hospedagem de alta disponibilidade. Alta disponibilidade de sites é um outro conceito que falaremos em um outro momento.
Quem precisa de uma hospedagem de alto tráfego ?
Se você possui um grande portal de notícias, um e-commerce ou um site com um alto volume de acessos, significa que você precisa sim ter uma hospedagem de alto tráfego.
- Portais de Notícias
- Blogs com público formado
- E-Commerce de médio/grande porte
- Sites que vão receber tráfego ADS recorrente
- Sites de Eventos, Streaming e Transmissões ao vivo
- Aplicações Web
- Sites adultos
- Sites com algum sistema ou aplicação paas
Quando falo em alto tráfego estou me referindo a projetos que tem muitos acessos, milhares, senão centenas de milhares de acessos simultâneos.
Coleta de Dados: Hospedagem WordPress Alto Tráfego na Amazon AWS
Estou sempre estudando, aprendendo novas tecnologias e amadurecendo o que já domino, principalmente para projetos WordPress. É muito importante entender seus principais gargalos e detalhes que podem fazer diferença na velocidade e performance do projeto.
Em nuvem, podemos arquitetar cada detalhe mínimo da infraestrutura, e com isso podemos pensar em um cenário que realmente atenda nossos clientes.
Não existe uma única solução ou forma de hospedar um site, pois existem inúmeras tecnologias no mercado para os mais diversos gostos. Mas cada projeto é único, e dependendo do projeto tendemos a adotar tecnologias que mais se adequam ao cenário.
Como dito no início do artigo, realizei algumas implementações na AWS e GCP onde arquitetei ambientes para alto tráfego de sites em WordPress.
Antes de iniciar a arquitetura e implementação do ambiente, solicitei algumas métricas importantes que foram:
1. Média de Acessos Simultâneos e Mensal do WordPress
Ter essas métricas é crucial para a implementação e execução do projeto, pois vai impactar diretamente nos modelos de servidores e otimizações que serão feitas. Sem essas métricas, nossa única alternativa é implementar um cenário e torcer para dar certo ou ter que reajustar em realtime com o projeto em produção.
Essas métricas são importantes paras as seguintes tarefas:
- Escolha do tipo de servidor(es)
- Quantidade de CPU e RAM
- Escolha do Web Server
- Otimizações no Nginx ou LiteSpeed Web Server
- Otimizações no PHP
- Otimizações e arquitetura do MySQL
- Escolha do Cache de Objetos
- Escolha do Load Balancer ( Se aplicável )
- Cache de página
- Tuning no Servidor
2. Tamanho do Banco de Dados
Não sou especialista em banco de dados, existem profissionais para isso, os famosos DBA’s. No entanto, adquiri conhecimento suficiente para entender os principais gargalos e problemas com banco de dados.
Sites em WordPress com banco de dados muito grande, dependendo do nível do servidor, após ter uma carga leve de acessos a parte interna do site fica extremamente lenta, mesmo que as paginas para os visitantes estejam rápidas em algumas vezes. E novamente, a primeira etapa acima faz muito sentido nesse momento.
Também é nesse momento que decidimos se implementamos um serviço de banco de dados dedicado no Aurora ou RDS com MySQL ou se colocamos em um servidor EC2 de baixo custo.
Dicas Para Sites de Alto Tráfego AWS – Cliente com 5 mil conexões Simultâneas
Vou dar uma pincelada básica na arquitetura que utilizamos para um de nossos clientes. Ele possui um projeto em WordPress para eventos e Streaming, o requisito era aguentar um tráfego simultâneo e constante de 5 mil pessoas online.

1. Hardware
Na AWS existem vários tipos de famílias de servidores, desde as mais genéricas até as mais potentes. Nesse case em específico usamos:
- Servidor EC2 família C5
- Discos SSD e EFS
- Banco de Dados Aurora
Servidor Fixo EC2 c5.xlarge / 4 CPU / 8 GB RAM
Servidor Spot AutoScaling EC2 c5.xlarge / 4 CPU / 8 GB RAM
Banco de Dados Aurora Serverless: Min 1 CPU e 2GB RAM, Max 8CPU e 32GB RAM.
2. Software e Otimizações – Stack
Uma vez que os tipos de servidores e tecnologias que envolvem a camada da nuvem foram decididas, agora vamos definir nossa stack com os softwares que iremos executar. Nesses projetos tivemos a oportunidade de colocar em produção em ambientes de alto tráfego tecnologias como:
- Web Server OpenLiteSpeed com configurações de otimização
- LSCache para cache de página
- LSAPI 7.4 com configurações de otimização
- Tuning no SO com otimizações
Na camada de nuvem ainda configuramos:
- Elasticache AWS para cache de objetos
- CDN CloudFront com integração ao S3 para servir imagens e cache de arquivos estáticos
Leia Mais:
- https://lscache.io/
- https://www.litespeedtech.com/open-source/litespeed-sapi/php
- https://www.litespeedtech.com/benchmarks/php-hello-world
3. Banco de Dados Externo RDS
Para o banco de dados podemos utilizar tanto o RDS com o MySQL/MariaDB como o Aurora para MySQL, ambos os serviços são gerenciados pela AWS e são incríveis. No entanto, quando estamos trabalhando com um ambiente de alto tráfego o Aurora Serverless é o mais indicado.
Imagine você precisar de mais memória RAM ou poder de processamento(CPU), e ele poder escalar sem downtime, isso é maravilhoso! .
4. CDN com CloudFront e S3 Storage
O CloudFront é um serviço da Amazon AWS para rede e entrega de conteúdo, ou seja, um CDN. Quando um site trabalha com um CDN, ele acaba ganhando duas grandes vantagens: velocidade e economia de recursos do servidor.
Como o CloudFront está presente em várias regiões do mundo, imagens e arquivos estáticos vão ser carregados a partir do local mais próximo do usuário, gerando uma velocidade maior. Já o servidor não vai precisar na maioria dos casos se preocupar em processar esses arquivos para entregar ao usuário.
Podemos trabalhar com o CloudFront em conjunto com o S3. O S3 Storage é o serviço que irá guardar os arquivos dentro de baldes de objetos, os famosos buckets. Então configuramos o CloudFront e o S3 com um subdomínio personalizado para o cliente, por exemplo: cdn.exemplo.com.br ,.
Para automatizar os envios de imagens e arquivos estáticos para o S3, existe um plugin para WordPress que se conecta a esses serviços. Sempre que você subir uma imagem e/ou arquivo no wordpress ele será mandado para o S3 e o CDN irá fazer a entrega.
Se tiver interesse em adquirir o plugin WP OFFLOAD MEDIA clique no banner abaixo para saber mais detalhes.
Esse plugin em sua versão paga, faz com que todas as suas imagens, videos e arquivos sejam enviados para o S3 e sincronizados com o CDN. Na sua versão gratuita apenas os novos conteúdos são sincronizados.
Vídeo: Ambiente Alto Tráfego WordPress na AWS com 10 mil conexões simultâneas
No vídeo abaixo arquitetei um laboratório na Amazon AWS para testar um tráfego de 10 mil conexões/acessos simultâneos em um site WordPress. Confira em primeira mão:
Considerações Finais
Se você está enfrentando problemas de lentidão e quedas quando tem um determinado número de usuários online em seu site significa que precisa de uma infraestrutura que vá te atender. Nesse artigo tive um foco maior na AWS, mas temos opções em várias outras empresas.
O custo para manter uma infraestrutura de alto tráfego é totalmente diferente do que um simples serviço de hospedagem. No entanto, se sua empresa depende financeiramente do projeto, o retorno será muito maior! E você verá que vale cada centavo investido.
Se precisa de um consultor aws ou um parceiro para elaborar uma infraestrutura de alto tráfego, entre em contato conosco.
Abraços.
2 Comentários
Conteúdo excelente! Tenho um projeto de streaming de vídeo na amazon aws no papel, mas gostaria de um especialista aws para me ajudar nessa empreitada. Estarei entrando em contato com você.
Sucesso,
tks.
Como vai Bruno ? Tenho uma ótima solução para seu projeto, se quiser saber mais detalhes pode entrar em contato comigo através da pagina de contato ou pelo botão do whatsapp, que te respondo hoje mesmo.
Abraços.