Como preparar um site para aumentar a carga



Somente os preguiçosos não obtiveram seus conhecimentos da prateleira distante e não previram a vida "online" - tão forçada quanto o regime de auto-isolamento. Mas o tráfego já começou a crescer e, levando em conta as “férias”, os recursos que oferecem entrega de mercadorias, serviços de educação on-line e, principalmente, entretenimento on-line, podem não estar prontos para o fluxo de visitantes na nova realidade antes do final de abril.

Com base em nossos 12 anos de experiência em suporte técnico a projetos da Web e administração remota de servidores, preparamos uma espécie de "manual de treinamento": o que vale a pena conferir e o que você precisa cuidar se quiser ter certeza de que seu site irá lidar com qualquer carga. Bem, quase qualquer um.

Então, aqui estão 10 pontos críticos para a vida ativa do seu projeto da web nos próximos dias e semanas:

1) Monitore sua infraestrutura

Antes de tudo, você deve saber o que está acontecendo com seu site. Se você souber como lidar com Prometheus / Grafana, use-os. Mas se não houver experiência em interagir com eles, isso não é um problema: você pode usar qualquer serviço como o datadog - você pode instalá-lo o mais rápido possível. Ainda complicado? - Preste atenção ao Pingdom ou Site24x7: estes não são serviços de monitoramento completos, mas são adequados pelo menos para garantir que seu site esteja acessível e para saber quando está perto de cair.

Lembre-se: você só pode controlar o que pode medir. Afinal, se você não sabe o que está acontecendo dentro do seu sistema e, especialmente, onde isso está acontecendo, você não poderá corrigi-lo se algo acontecer lá.

Existem muitas opções para o que pode dar errado quando o tráfego se acumula:

  • .
  • .
  • \.
  • \\.

2) Prepare-se para escalar:

depois de ver que atingiu 80% do limite de recursos, é necessário começar a escalar imediatamente. Porque se você esperar 100%, o site cairá. E você precisará de algum tempo para restaurar o projeto. Sem mencionar que tudo é muito nervoso ...

você precisa agir rapidamente, pois caso contrário você perderá visitantes e possivelmente cometerá ainda mais erros no modo "chef, tudo está perdido, queimar". Portanto, quando você atingir a marca de 80% do limite de recursos, reduza para 40%.
Repita se necessário (c)

3) Não se esqueça de monitorar o desempenho do HDD e a largura de banda do canal

É muito mais difícil entender o que acontece quando o sistema é "burro" devido a alta carga de disco ou limitações de largura de banda.

4) Monitore o desempenho de seus bancos de dados,

especialmente se você usar bancos de dados em nuvem. RDS, Cloud SQL, MongoDB Atlas e outros serviços são gerenciados usando tecnologias de nuvem, mas eles têm seus próprios limites e devem ser monitorados para aumentar a escala no tempo.

5) Quando seu banco de dados cria uma grande carga na CPU - verifique o uso de índices, isso realmente ajuda

A introdução da indexação reduz fantasticamente a carga no processador. Suponha que a CPU do seu banco de dados seja 90% usada. Você provavelmente vai querer escalar ao meio para lidar com a carga dupla. Mas se a maioria das suas consultas não for indexada, a introdução da indexação poderá reduzir a carga da CPU em 10 vezes. A análise do uso de índices vale o esforço!

6) Fique de olho nas contas dos serviços dos provedores de nuvem

É fácil esquecê-lo quando você tem problemas de tempo. Portanto, defina alertas no seu sistema de faturamento para receber notificações de possíveis excedentes de custos. A largura do canal é o que é especialmente caro. Se não for possível transferir conteúdo para a CDN ou para empresas de hospedagem que fornecem grandes volumes de tráfego de maneira barata, como like100tb.com ou leaseweb, prepare-se para custos sérios.

7) Evite o estado em sua aplicação

Apesar de ser possível escalar os recursos do processador ou da RAM na nuvem, ainda existem limites que não podem ser ultrapassados. Desse ponto de vista, se você quiser escalar horizontalmente, adicionando novas instâncias do mesmo aplicativo, ele deverá estar pronto para esse desenvolvimento de eventos. E quando você tiver várias instâncias do mesmo aplicativo, as solicitações do usuário serão distribuídas entre vários servidores e, como resultado, você não poderá armazenar dados em um disco local.

8) Considere mudar para a nuvem se o site estiver em uma hospedagem dedicada

Nessa situação, você não pode escalar facilmente: a adição de servidores levará um certo tempo - levará algumas horas a alguns dias para disponibilizar novos servidores. Além disso, você costuma pagar mensalmente, não a cada hora. Em geral, você obviamente não deseja esperar horas, ou mesmo dias, se o site "mentir". É muito mais fácil escalar na nuvem.

9) "Aperte" a infraestrutura

Há várias coisas básicas que são desativadas por padrão e devem ser otimizadas - no nível do sistema operacional, da rede, do gerenciador de aplicativos e do próprio aplicativo. E isso pode reduzir significativamente o consumo de recursos. Google sua configuração de pilha de tecnologia e siga as diretrizes básicas.

10) Prepare-se para iniciar a versão em cache

Apesar de todos os seus esforços, com um aumento de cem vezes no tráfego, você "se deitará". Leva tempo para escalar. Portanto, prepare-se para usar a versão em cache estática. Para isso, o cache Cloudfront / Cloudflare, o cache CDN, o cache nginx ou qualquer outro é útil. Apenas verifique se você tem a oportunidade, se precisar.

All Articles