Anual Pague anualmente e ganhe 2 meses grátis em qualquer plano pago. Ver planos
Entrar Comece grátis

Três páginas por segundo

Na manhã de 22 de setembro, o torun.ai começou a se arrastar. Uma fazenda de navegadores automatizados, mais de dois mil endereços em três quartos de hora, pedia nossas páginas públicas uma a uma, e no pior minuto chegou…

Na manhã de 22 de setembro, o torun.ai começou a se arrastar. Uma fazenda de navegadores automatizados, mais de dois mil endereços em três quartos de hora, pedia nossas páginas públicas uma a uma, e no pior minuto chegou a cerca de três páginas por segundo. Um site deveria aguentar isso sem esforço. O nosso não aguentou: na janela mais carregada, mais de um quarto das requisições levou mais de trinta segundos, e centenas de visitantes desistiram antes de a página chegar.

Não era a carga que imaginávamos

Os suspeitos óbvios eram o robô e o processador. Nenhum se confirmou. Quando repetimos as mesmas três páginas por segundo contra uma cópia do site, ele aguentou menos de um minuto e depois parou de concluir qualquer coisa. O uso do processador caiu de 60 por cento para 1, enquanto o número de threads subia de 12 para 166. Um servidor sobrecarregado trabalha mais; este estava esperando.

Uma ida e volta para cada palavra

Observar o servidor de cache durante uma única página mostrou o que ele esperava. Uma página enviou 585 comandos a ele, e 428 eram uma mesma consulta e sua renovação, repetidas: uma tabela de traduções que, no nosso site, está vazia. Cada texto traduzido da página, e uma página tem centenas, pedia de novo, e cada pedido segurava um thread até a resposta voltar. A três páginas por segundo os threads acabaram, e tudo ficou na fila atrás deles.

A correção, e um limite

Essas consultas agora são respondidas da memória por um minuto de cada vez, buscadas uma única vez quando expiram e limpas no servidor que altera uma tradução. A mesma página agora envia 31 comandos em vez de 585. Também colocamos um limite na frente da geração de páginas: um número fixo de páginas é gerado de cada vez, uma fila curta espera, e o que passar disso recebe na hora um "tente de novo daqui a pouco" em vez de deixar todas as páginas lentas.

Medido em produção

Depois da versão de 23 de setembro, medimos de novo o site no ar. A página mediana é gerada em 42 milissegundos, antes 249, e a mais lenta a cada vinte em 72 milissegundos, antes quase dois segundos. A consulta que rodava 214 vezes por página agora roda uma vez.

A lição que anotamos é simples: um número de capacidade é uma medição, não uma crença. Nunca tínhamos testado quanto o site público aguentava. Agora testamos, e vamos testar de novo antes de afirmar um número.

Compartilhar LinkedIn X E-mail
Experimente no seu próprio trabalhoCada resposta mostra quanto custou. Comece no plano gratuito. Comece grátis
Receba novidades do produto, não ruído Novos modelos, funcionalidades e destaques do changelog — um email curto quando algo é mesmo lançado.
Ao se inscrever, você concorda em receber e-mails da ToRun com novidades do produto. Você pode cancelar a inscrição a qualquer momento. Política de Privacidade