Por que sites saem do ar quando há muitos acessos simultâneos?

Por que sites saem do ar quando há muitos acessos simultâneos?

Por Igor Almenara | Editado por Douglas Ciriaco | 30 de Novembro de 2021 às 11h14
Reprodução/Pixabay

Suponha que hoje seja o prazo final para a inscrição de um concurso, a entrega dos resultados de um processo seletivo superconcorrido ou a abertura da pré-venda que todo mundo espera — para um show, filme no cinema ou um novo jogo online, por exemplo. Milhares de pessoas estão ansiosas para esse evento e, assim que chega a hora programada para o início, você acessa o site e... Ele “cai”.

Não, o problema quase nunca é o seu computador, tampouco seu provedor de internet: na verdade, o mais provável é que site esteja enfrentando um enorme congestionamento. A expressão “cair”, na verdade, se refere ao fato de a página não carregar ou aparecer toda “quebrada” no navegador.

Sites congestionados são como locais com fila de espera, cheias de pessoas procurando a mesma coisa (Imagem: aykapog/Pixabay)

Esse tipo de fenômeno acontece em momentos importantes, mas passageiros, como o prazo final da entrega de declaração do imposto de renda, o fim das inscrições do Exame Nacional do Ensino Médio (ENEM) ou até a abertura de pré-vendas de ingressos para filmes muito aguardados, como Vingadores: Ultimato e Homem Aranha: Sem Volta para Casa.

Mas por que isso acontece? Antes de responder a essa pergunta, é preciso entender um pouco como um site da internet funciona.

Como funcionam sites e serviços online?

Sites e plataformas online são baseados em servidores — computadores de altíssimo nível de processamento localizados em algum lugar do mundo. Quando um usuário acessa uma página web, acontece uma troca de informações entre o computador doméstico e o servidor naquele instante — a máquina pede, o host recebe, processa o pedido e devolve o que foi solicitado, como acontecem em encomendas ou, num exemplo mais direto, na estrutura elétrica de uma casa.

Pacotes contém informações e os dados necessários para a navegação pela internet (Imagem: RoseBox/Unsplash)

Existe um imenso nível de complexidade nessa troca, porém. Cada site ou serviço online adota diferentes protocolos de rede, que variam conforme o conteúdo ofertado. Cada um desses protocolos tem propriedades distintas, seja para fazer transmissões ao vivo, videochamadas, enviar e-mails, exibir imagens, trocar mensagens ou qualquer outra coisa que se faça via internet.

O que faz os sites caírem?

Naturalmente, os recursos dos servidores não são infinitos. Assim como numa rede elétrica de uma casa existe um limite para a quantidade de energia que pode ser utilizada simultaneamente, servidores também sobrecarregam se um número imenso de pessoas acessa um site ao mesmo tempo e ele não está preparado para isso.

Em uma conversa com o Canaltech, o Coordenador de Projetos da BNP Francisco Ferreira explica que isso se dá justamente pelo aumento drástico de demanda. “O que geralmente acontece é que há um alto número de requisições e o site (ou aplicação) acaba não suportando. Ela não está preparada para essa grande demanda”, explica.

“São muitas pessoas interessadas naquele produto, naquele mesmo momento, quase como um Ataque de Negação de Serviço [DDoS]”, disse Ferreira.

Esse efeito é conhecido como gargalo (em inglês, "bottleneck"), e quer dizer quer alguma coisa impede o serviço de atender todos os pedidos. Se comparados a um computador doméstico, é como se o usuário tentasse jogar um game extremamente pesado e exigente em uma máquina de entrada baratinha, sem placa de vídeo dedicada.

A causa do problema, porém, não é tão simples de mitigar e requer um profundo trabalho de pesquisa para a tomada de decisões. É necessário avaliar se o culpado pelo gargalo é o código da aplicação (que talvez esteja mal escrito), baixo desempenho do computador ou até instabilidades ocasionadas pelo próprio sistema operacional da máquina.

E a solução?

Para Ferreira, a melhor alternativa para lidar com esses momentos é o investimento prévio em infraestrutura por parte dos sites/aplicativos e uma das opções para isso é utilizar sistemas escaláveis combinados com aplicações bem construídas. Esse modelo permite que os servidores se autoajustem para comportar um número maior de acessos sempre que for necessário, como se "inflassem" para lidar com a quantidade temporariamente maior de pedidos — como é o caso da tecnologia de contêineres.

Contêineres separam as requisições em máquinas virtuais resilientes que mais flexíveis (Imagem: leungchopan/Elements)

Neste caso, em vez de ter máquinas inteiras dentro dos escritórios, com performance limitada aos componentes nela presentes, o site contrataria outro serviço para lidar com as operações, como Amazon AWS, Google Cloud ou Microsoft Azure.

Diferentes de servidores físicos, essas máquinas virtuais podem assumir "tamanhos" diversos para lidar com o aumento súbito de requisições. Ao adotar essa opção, o administrador do site opta por uma estrutura mais segura, autoescalável, amplamente disponível e, em alguns casos, self-service — se for necessária uma forcinha, é só pedir ao provedor.

Na prática, isso poupa o administrador do serviço de várias responsabilidades, inclusive o custo de manutenção. Contratar a hospedagem de outras companhias dispensa o gasto em espaços dedicados para servidores locais — algo bastante caro, geralmente —, dá maior confiabilidade ao serviço para momentos de pico e reduz o custo em pessoal.

Fique tranquilo, não é só com você

Nessas horas, para garantir que o problema não é no seu computador, o diagnóstico pode ser feito rapidamente: tente acessar o mesmo site por outra rede diferente da sua (como o 4G do celular), verifique sites como DownDetector e Outate Report e confira se há queixas de lentidão nas redes sociais. Se possível, tente acessar o site novamente algumas horas depois, pois, caso o problema tenha sido um altíssimo número de acessos, alguns desses indicadores vai se confirmar.

Gostou dessa matéria?

Inscreva seu email no Canaltech para receber atualizações diárias com as últimas notícias do mundo da tecnologia.