Uso extremo de carga/IO de disco/CPU/memória

Olá, recentemente nossa instância tem recebido mais mensagens de “carga extrema”. Hoje isso aconteceu às 9h40.

Verifiquei o log do nosso servidor. A CPU e a carga pareciam estar OK às 9h40:

A memória também está bastante consistente durante o dia:

O pico pareceu estar relacionado a E/S de disco e largura de banda de saída/entrada:

Isso me levou a suspeitar que se tratava de uma solicitação de rastreador (crawler) às 9h40. Mas não sei se há uma maneira de verificar isso. Olhei a lista de rastreadores e o número de solicitações; a maioria vem do Google e do Bing, então certamente não vamos bloqueá-los.

Isso me levou às seguintes perguntas:

  • Existe algum log onde eu possa identificar quem está acessando o site em um determinado momento?
  • Existe uma maneira de fazer com que os rastreadores distribuam suas solicitações, já que são rastreadores “bons”?
  • Adicionar mais CPU/memória ao servidor ajudaria nessa situação? Estou um pouco cético quanto a isso, já que o uso de CPU/memória não teve pico. Uma utilização média de memória de 80% é alta demais?

Temos 2 vCPUs e 2 GB de memória. Configuramos a instância com 4 workers do Unicorn, o que parece estar em linha com a quantidade de RAM que temos.

Sim, verifique /var/discourse/shared/standalone/log/var-log/nginx/access.log.

Sim, a configuração do site slow down crawler user agents.

Parece que o que você teve foi espera de I/O durante o pico das 9:40. Aumentar a RAM pode ajudar, pois mais coisas podem ser mantidas em cache, mas não sei se esse pico foi de leitura ou gravação, já que você cortou a legenda do gráfico :upside_down_face:.

Dito isso, se você puder arcar com o custo, aumentar o tamanho do droplet para o próximo tamanho disponível sempre ajudará.

Obrigado. Verifiquei o log às 9h40 e as solicitações parecem originar-se de ações de usuários (navegadores de consumidores) e não de crawlers.

O pico verde foi de leitura.

Sim, já que não parece ser de crawlers, acho que vou testar com o próximo tamanho de droplet e aumentar a RAM de 2 GB para 4 GB para ver se ajuda.

É um pouco surpreendente para mim que a atividade do usuário seja a causa, pois sempre tive a impressão de que temos menos postadores ativos nos últimos 2 anos do que antes. Mas quando olhei o Google Analytics, temos um aumento constante de usuários — talvez, mesmo que os postadores tenham diminuído, os observadores (lurkers) tenham aumentado…

Obrigado pelas dicas. Agradeço muito.

Parece que dobrar a memória realmente faz a diferença, pelo menos ao observar os gráficos, especialmente em relação à E/S do disco e aos picos de carga.