Lutando para controlar os surtos de tráfego

Publicados: 2022-03-10
Resumo rápido ↬ “Se você construir, eles virão.” Isso certamente é verdade quando você dedica muito tempo e esforço à criação de sites e PWAs para clientes. Mas o que acontece quando “eles virão” se torna “muitos deles vieram todos de uma vez e agora o site está fora do ar”? Surtos de tráfego acontecem. Mas, em vez de deixar seu site se tornar vítima deles, este guia mostrará como você pode configurá-lo para ser o vencedor.

(Este é um artigo patrocinado.) Quando ocorre um pico de tráfego, você quer que seu site seja capaz de surfar na onda em vez de se afogar nela.

Mas como fazer isso sem gastar constantemente recursos do servidor em antecipação a um aumento de tráfego que pode ou não acontecer?

Parte disso se resume a saber ler seus dados muito bem para que você possa prever os próximos aumentos (ou quedas) no tráfego. Mesmo assim, os fluxos e refluxos de seus dados nem sempre preveem com precisão quando um aumento de tráfego ocorrerá, quão grande será ou quanto tempo durará.

Então, o que você precisa fazer é garantir que os sites de seus clientes estejam preparados para receber o golpe e, em seguida, sustentar o tráfego. O que vamos fazer hoje é ajudá-lo a criar um sistema de ferramentas, monitoramento e teste que permitirá que seus sites façam isso.

Como preparar seu site para um aumento de tráfego

Para preparar adequadamente seu site para picos de tráfego, você precisa configurar um sistema que seja proativo e reativo. Aqui está o que deve incluir:

1. Mova seu site para uma solução de nuvem escalável

A razão pela qual os picos de tráfego são capazes de causar estragos em sites é porque os servidores e recursos de hospedagem não estão preparados para lidar com eles. Puro e simples.

Dito isso, se você não pode prever quando um aumento ocorrerá, como garantir que sua hospedagem tenha capacidade para lidar com o aumento da carga de tráfego? Você simplesmente joga mais dinheiro em um plano de hospedagem superdimensionado apenas por precaução ?

Obviamente, essa não é uma maneira econômica de lidar com um potencial aumento de tráfego. Em vez disso, você deve procurar uma solução de hospedagem que se adapte às suas necessidades.

Aproveite a tecnologia de hospedagem DigitalOcean

Um desses provedores que pode ajudar com isso é a DigitalOcean, desenvolvedora de soluções em nuvem escaláveis.

O legal dessa opção é que a DigitalOcean oferece “droplets” otimizados para você escolher. Não há necessidade de adivinhar qual plano é o certo para você - tudo está claramente explicado nas recomendações de casos de uso muito úteis da DigitalOcean:

Gotículas de vCPU Digital Ocean
A DigitalOcean vende CPUs virtuais otimizadas para casos de uso específicos. (Fonte: DigitalOcean) (Visualização grande)

Como você pode ver, os Droplets são máquinas virtuais fáceis de configurar criadas para diferentes tipos de sites e aplicativos. Além disso, eles são configurados para velocidade e segurança imediatamente com hipervisores KVM, armazenamento SSD e conectividade de 40 GbE.

Além disso, à medida que o tráfego do seu site cresce, é fácil atualizar a quantidade de armazenamento e largura de banda em seu Droplet. E se você puder descobrir a rima ou o motivo dos picos de tráfego mais tarde, poderá escalar rapidamente seus recursos para cima e para baixo para acomodar as mudanças no tráfego.

Dito isto, uma solução de hospedagem em nuvem escalável não é suficiente para lidar com picos de tráfego. Há mais algumas coisas que você vai precisar.

Use balanceadores de carga para surtos

Se você não estiver familiarizado com a tecnologia de balanceamento de carga, vamos dar uma olhada na diferença entre um site com e sem ela.

Isto é o que acontece quando alguém visita seu site sem um balanceador de carga:

DigitalOcean - Gráfico sem balanceamento de carga
Um gráfico da DigitalOcean sobre como os visitantes acessam um site sem balanceamento de carga. (Fonte: DigitalOcean) (Visualização grande)

Eles acessam a Internet, inserem seu URL no navegador da Web ou clicam em um link para ele e, em seguida, seu servidor deve entregar seu site na tela deles.

Mas se a quantidade de tráfego solicitando acesso ao seu site aumentar repentinamente, esse servidor solitário pode não ser capaz de lidar com a carga com eficiência. É por isso que picos de tráfego excessivamente altos podem levar a sites dolorosamente lentos ou a nenhum acesso a sites.

Com um balanceador de carga, no entanto, é isso que acontece com o tráfego da web:

DigitalOcean - gráfico de balanceamento de carga
Um gráfico da DigitalOcean sobre como os visitantes acessam um site quando o balanceamento de carga é implementado. (Fonte: DigitalOcean) (Visualização grande)

Um balanceador de carga serve como uma espécie de proxy para seu servidor. Dessa forma, quando o tráfego atinge o pico, seu servidor não precisa se esforçar para lidar com a demanda. Em vez disso, o balanceador de carga aproveita vários servidores para equilibrar o volume crescente de solicitações HTTP.

É como distribuir sua carga de trabalho entre sua equipe. Em vez de continuar acumulando solicitações para membros da equipe que já estão sobrecarregados, você compartilha o trabalho com aqueles que têm capacidade para isso.

Ao contrário da distribuição de trabalho do mundo real, no entanto, os balanceadores de carga fazem tudo isso nos bastidores e não precisam que você coordene nada, pois é totalmente gerenciado.

Aproveite o monitoramento de desempenho e backups

Contanto que você tenha a quantidade certa de largura de banda e armazenamento configurado em seu droplet e o balanceamento de carga ativado, seu site estará em boa forma. Não será imune a picos de tráfego, mas será o mais próximo possível.

Lembre-se de que, para todas as fortificações que você faz no nível do servidor, ainda é importante ter um plano de contingência em vigor.

Seu plano de continuidade de negócios (site) deve incluir todas as coisas que você precisa fazer para que seu site volte ao normal, incluindo como:

  • Restaurar o site,
  • Investigue o evento que levou a isso,
  • E alcance visitantes e clientes que foram impactados.

Dito isso, existem algumas partes do seu plano de continuidade que a DigitalOcean pode ajudar.

Os backups automatizados são essenciais para qualquer site, mas são absolutamente críticos se você souber que seu site estará suscetível a picos de tráfego. O suporte 24 horas por dia, 7 dias por semana, é outra obrigação e é algo que a DigitalOcean também oferece.

Outra coisa a procurar é o monitoramento de desempenho integrado – algo que vou abordar mais adiante neste post.

2. Otimize seus ativos

Com uma solução sólida de hospedagem em nuvem, você certamente pode dar ao seu site a ajuda necessária para sobreviver a um grande aumento de tráfego. No entanto, nem tudo pode recair sobre o seu host. Você precisa fazer sua parte para tornar seu site “leve” o suficiente para servir repetidamente ao ataque de visitantes.

Aqui estão algumas coisas que você pode fazer para otimizar seu site e seus ativos para um melhor desempenho:

Habilitar o cache e outras otimizações de arquivos

Quer que seus ativos digitais sejam mais fáceis de manusear? Em seguida, você precisará das seguintes otimizações configuradas:

Cache

Há várias maneiras de implementar o armazenamento em cache e acelerar a rapidez com que seu site é entregue aos navegadores dos visitantes. Você pode fazer isso nos níveis de banco de dados do servidor, página e navegador.

Seu host da web pode ajudá-lo a configurar o cache do servidor.

Se você construiu seu site com um sistema de gerenciamento de conteúdo como o WordPress, você pode instalar um plug-in de cache para cuidar do site e do banco de dados para você. (Também fará coisas como minificação de arquivos, compactação Gzip combinar arquivos CSS e JavaScript.)

Você sempre pode habilitar o cache manualmente. Você usará seus cabeçalhos de cache e dois mecanismos em particular — Cache-control e Expires — para configurar como seu conteúdo é armazenado em cache.

Otimização de imagem

Não se esqueça da sua mídia. Arquivos de imagem e vídeo podem ocupar muito espaço em seu servidor, além de impedir a rapidez com que seu servidor funciona durante um aumento de tráfego. Para otimizar esses ativos, você deve usar a compactação e o redimensionamento de arquivos.

Para compactar imagens em massa, usarei uma ferramenta online como TinyPNG ou TinyJPG para lidar com isso para mim.

Compactação de imagem TinyPNG
O TinyPNG oferece uma maneira rápida e fácil de compactar ativos de imagem em massa. (Fonte: TinyPNG) (Visualização grande)

Em média, geralmente posso reduzir o tamanho dos meus arquivos em cerca de 75% com esta ferramenta.

Para diminuir ainda mais o peso de suas imagens, você deve redimensioná-las. Não há motivo para fazer upload de recursos em tamanho real para um site se a largura máxima que você vai usar for de 1280 pixels ou algo próximo disso.

Para isso, usarei meu software de arquivo para fazer tudo de uma só vez ou usarei um serviço online como o Bulk Resize Photos.

Ferramenta de redimensionamento de imagem para redimensionar fotos em massa
Fotos de redimensionamento em massa oferecem uma maneira fácil de redimensionar ativos de imagem em massa usando vários métodos de redimensionamento. (Fonte: fotos de redimensionamento em massa) (visualização grande)

Há muita flexibilidade aqui na forma como as imagens são redimensionadas, mas acho que definir uma largura máxima geralmente funciona melhor.

Usar bancos de dados gerenciados

Além de otimizar os ativos que você coloca em um site, você deve tomar alguns cuidados para otimizar seus bancos de dados. Dito isto, muitas vezes é mais fácil falar do que fazer.

Embora eu esteja familiarizado com os plugins de otimização e limpeza de banco de dados que você pode usar com o WordPress para manter as coisas funcionando mais suavemente, isso não vai ajudar muito quando se trata de um aumento de tráfego. Você precisa de algo que ajude seu banco de dados a continuar processando solicitações de dados recebidas, mesmo em uma taxa mais alta.

Para isso, seria melhor você ter uma solução de banco de dados gerenciado — algo que você pode provisionar da DigitalOcean.

Quando um aumento de tráfego é detectado, os serviços de banco de dados gerenciados simplificam o que precisa ser feito para dimensionar seus recursos adequadamente. Não há cálculos necessários; basta fazer login em sua conta e adicionar mais recursos conforme necessário.

Outra razão pela qual os serviços gerenciados são ideais nesses tipos de situações é por causa de sua alta disponibilidade incorporada. E isso não é apenas uma promessa geral de 99,9% de tempo de atividade. Se você der uma olhada no SLA do seu host, verá que ele fará um grande esforço para evitar grandes períodos de inatividade.

Adicionar um CDN

Há outra camada de otimização para adicionar ao seu site quando os picos de tráfego são uma ocorrência comum: um CDN.

As redes de entrega de conteúdo são úteis por vários motivos. Eles são ótimos para servir sites para visitantes globais. Eles são definitivamente úteis para sites de comércio eletrônico que desejam fornecer uma experiência de checkout mais rápida. E eles fornecem velocidade, segurança e failover adicionais para sites que ocasionalmente encontram grandes aumentos no tráfego.

Se você planeja usar a DigitalOcean para hospedar seu site, consulte o produto Spaces (com integração CDN integrada) para armazenamento e entrega mais eficientes de seus ativos.

3. Analise seus relatórios de tráfego

Em geral, é muito importante ser diligente na coleta de dados do seu site. Isso é especialmente verdade quando luta contra picos de tráfego. Aqui está o porquê:

Se houver altos e baixos previsíveis no tráfego do seu site, você saberá quando e como planejar exatamente para eles. Isso não significa apenas otimizar seu site e servidor para lidar com o tráfego, mas também ter a quantidade certa de funcionários para monitorá-lo e gerenciá-lo.

Para fazer isso, use o Google Analytics para acompanhar tudo.

Google Analytics - mapeando as visualizações de página
Um gráfico de amostra de tráfego e visualizações de página do Google Analytics. (Fonte: Google Analytics) (Visualização grande)

Este exemplo é uma extração de dados de 12 meses que mostra quantas visualizações de página ocorreram todos os dias (mais ou menos). Você também pode fazer isso com outras métricas, como o número de usuários ou sessões. O objetivo principal, no entanto, é identificar quaisquer fontes de estresse ao longo do ano, e visualizações de página excessivas (ou conversões de comércio eletrônico, se relevante) podem ser uma maneira mais eficaz de medir isso.

Você pode ver aqui que houve vários altos-altos e baixos-baixos que ocorreram:

Google Analytics - pesquisa de pico de tráfego
Um exemplo de como os usuários do Google Analytics procurariam picos de tráfego em seus dados. (Fonte: Google Analytics) (Visualização grande)

Em vez de tomá-los pelo valor nominal, faça uma referência cruzada deles com outros pontos de dados para garantir que o que você está vendo seja um aumento de tráfego com o qual você possa aprender.

Descarte o Desenvolvimento Web

Por exemplo, havia algum desenvolvimento no local acontecendo naqueles dias? Se alguém estivesse consertando um bug ou criando uma nova página, isso poderia fazer com que os números de visualizações de página aumentassem muito.

Se isso acontecer muito, seria uma boa ideia remover automaticamente esses dados de seus relatórios no nível do Google Analytics. Você pode fazer isso no menu Admin.

Vá para Exibir > Filtros > Adicionar Filtro:

Filtros do Google Analytics
Os usuários do Google Analytics podem remover suas métricas de visitas pessoais e visualizações de página dos resultados. (Fonte: Google Analytics) (Visualização grande)

Ao filtrar os dados do seu endereço IP, bem como de qualquer outra pessoa que possa visualizar o site com frequência para fins de teste ou criação de conteúdo, você terá uma visão mais precisa de seus níveis de tráfego.

Digamos que os picos de tráfego não foram da sua equipe interna. Em seguida, você desejará ver se esses picos (ou quedas) de tráfego ocorrem em intervalos previsíveis.

Procure por surtos previsíveis

Se seu site está ativo há mais de um ano, você pode usar o Google Analytics para ver se há uma correlação. Basta definir suas datas para comparar com o mesmo período do ano anterior:

Comparação de período do Google Analytics
O Google Analytics permite que os usuários comparem dois períodos lado a lado. (Fonte: Google Analytics) (Visualização grande)

Em seguida, procure sobreposições em picos de tráfego:

Dados de comparação de período do Google Analytics
Os usuários do Google Analytics podem revisar simultaneamente dois intervalos de datas para a previsibilidade de picos de tráfego. (Fonte: Google Analytics) (Visualização grande)

Nesse caso, talvez haja apenas um ou dois picos notáveis ​​que ocorreram em ambos os anos. A primeira foi no início de abril e a outra em meados de novembro.

Se fossem picos excessivamente grandes em ambos os anos – como pelo menos cinco vezes mais do que a quantidade normal de tráfego – eu diria que valeria a pena investigar. Neste exemplo, no entanto, provavelmente é apenas uma coincidência e eles podem ser descartados.

Confira o Calendário

Se você identificou um aumento notável de tráfego em seus dados, a última coisa a fazer é verificá-lo em seu calendário.

O que você está procurando são eventos que poderiam ter causado o aumento. Coisas como:

  • Vendas de férias que geraram um monte de buzz.
  • Comunicados de imprensa que foram apanhados nas principais redes de notícias.
  • Postagens de blog virais ou ofertas de e-mail que você enviou.

Eu também sugiro olhar para o tráfego durante os dias ou semanas após o aumento do tráfego.

Como foi diminuindo? Foi de repente ou uma queimadura lenta? O site conseguiu melhorar seus números de tráfego diário – mesmo que levemente – graças ao aumento?

Além disso, veja como a organização foi impactada. Isso é especialmente importante para sites de comércio eletrônico que fornecem suporte ao cliente e devoluções de produtos. Houve um aumento na atividade pós-venda após o aumento? Quando bateu? Quanto tempo durou?

Se você conseguir descobrir por que o aumento de tráfego aconteceu (ou seja, qual evento o desencadeou) e quais foram as consequências, você pode realmente usar isso a seu favor no futuro. Por exemplo, se você sabe que uma venda ou postagem viral causou o aumento, você pode planejar seu servidor e recursos de equipe antes da próxima.

Independentemente do que você encontrar nos relatórios antigos, isso precisa se tornar parte do seu processo contínuo. Configure o Google Analytics para gerar relatórios de tráfego e enviá-los por e-mail regularmente. Dessa forma, à medida que os níveis de tráfego mudam - para o bem ou para o mal - você sempre estará informado sobre o que está acontecendo e poderá adaptar sua estratégia de acordo.

4. Monitoramento de desempenho em tempo real

O Google Analytics ajudará você a descobrir o que aconteceu no passado e a se preparar de forma mais eficaz para futuros aumentos de tráfego. O monitoramento de desempenho em tempo real, por outro lado, permitirá que você reaja a picos de tráfego e outras alterações de desempenho no calor do momento.

Existem várias ferramentas que você pode usar para monitoramento em tempo real. Aqui está apenas uma amostra deles:

Monitoramento de desempenho de front-end

Quando a velocidade da página de repente começa a se deteriorar ou seu site fica inativo, não há tempo a perder. Dito isso, não cabe a você fazer login regularmente em seu site para garantir que tudo esteja funcionando bem.

Em vez disso, você pode usar um serviço de monitoramento de tempo de atividade e velocidade como o Pingdom:

Serviços de monitoramento e alerta de pingdom
Os usuários podem automatizar o monitoramento de tempo de atividade, usuário e velocidade com o Pingdom. (Fonte: Pingdom) (Visualização grande)

Ele lida com o trabalho tedioso de monitorar seu site quanto a aumentos no tráfego, problemas com velocidade ou tempo de atividade, bem como problemas detectados no checkout. Ele também fornecerá avisos em tempo real para que você possa cuidar de problemas causados ​​por picos de tráfego antes que eles fiquem muito ruins.

Dessa forma, você só precisará dar ao seu site a atenção e os cuidados necessários quando um aumento de tráfego tiver um impacto negativo no desempenho, em vez de se preocupar constantemente com isso.

Monitoramento de desempenho de back-end

Embora seja ótimo ter um serviço de monitoramento de front-end para informar quando o tráfego está fora de controle, não é suficiente. Você precisa saber o que está acontecendo no back-end também.

Obviamente, com uma solução de hospedagem gerenciada, você receberá ajuda do seu provedor. No entanto, é uma boa ideia familiarizar-se com as métricas do servidor para que você possa ser proativo na luta contra os efeitos devastadores dos surtos.

Aqui estão algumas das métricas para ficar de olho:

  • Recursos de hospedagem (como memória e espaço em disco),
  • O desempenho do seu aplicativo (como taxas de erro e uso de recursos),
  • Conectividade (como latência e utilização de largura de banda).

Familiarize-se com essas métricas-chave para que você nunca precise se esforçar para descobrir o que está acontecendo com seu site ou como corrigi-lo.

Agora, com a DigitalOcean, você não terá acesso apenas a essas métricas úteis. Ele também o configurará com monitoramento e alertas em tempo real. E isso não é tudo.

O problema com muitos sistemas de monitoramento é que eles são apenas isso: eles procuram interrupções, erros e instabilidade, mas ainda depende de você agir. Com o DigitalOcean, no entanto, você pode automatizar certas ações para ocorrer quando cenários específicos são detectados.

Por exemplo, digamos que seu site esteja recebendo um fluxo de tráfego muito maior do que o esperado para a promoção de fim de ano. Seus recursos estão se esgotando muito rápido, o que normalmente colocaria um site em risco de ficar lento ou travar completamente. Mas, neste caso, o mecanismo de monitoramento observou o problema e sua ação de dimensionamento automático foi acionada.

Imagine como seria útil automatizar a resposta do seu servidor a determinados eventos. Você pode gastar menos tempo se preocupando em como restaurar seu site e, em vez disso, se concentrar em como continuar otimizando seus ativos de servidor para sustentar os altos níveis de tráfego.

Empacotando

Se os sites ou PWAs de seus clientes não estiverem prontos para um aumento de tráfego, isso poderá significar grandes problemas para seus negócios quando a poeira baixar. E não é apenas o tempo de inatividade ou o carregamento lento das páginas que vai custar a eles (ou a você).

Fazer com que todos esses visitantes extras vejam um site que está em mau estado - de checkouts ou formulários quebrados a infecções por malware - também prejudicará seus negócios.

Em vez de cruzar os dedos ou dizer a si mesmo que seu site não é grande ou popular o suficiente para experimentar um desses picos de tráfego, esteja preparado. Ao começar com uma solução prática de hospedagem em nuvem da DigitalOcean e, em seguida, otimizar seu servidor, ativos e processos que os cercam, você aumentará as chances de seu site não apenas sobreviver intacto a um surto, mas também lucrar muito com isso.