performance
Por que minha VPS está lenta? Um guia para iniciantes sobre problemas de CPU, RAM, disco e tráfego
Entenda os motivos mais comuns para um servidor parecer lento, como diferenciá-los e o que cada um costuma significar.
Seu site parece pesado, as páginas demoram demais para carregar e você fica ali se perguntando se o servidor é pequeno demais, se o app está com problema ou se apareceu gente demais de uma vez só.
É uma situação frustrante, porque lento não aponta para uma única causa. É mais parecido com um carro fazendo um barulho estranho. O problema pode ser o combustível, os pneus, o motor ou a estrada. Você precisa de um jeito simples de restringir as possibilidades antes de sair mudando as coisas.
Lento é um sintoma, não um diagnóstico
Quando as pessoas dizem que um servidor está lento, geralmente querem dizer uma entre várias coisas diferentes.
Uma página pode levar cinco segundos para abrir. Um painel de administração pode travar. Os uploads podem se arrastar. Uma página que depende do banco de dados pode atrasar enquanto uma imagem simples carrega na hora. Ou o site pode não carregar de jeito nenhum, o que é um problema diferente de estar lento.
Se nada carrega, comece pela acessibilidade: domínio, rede, serviço web e firewall. Isso está coberto neste guia em linguagem simples sobre um site que não carrega. Se o site carrega, mas parece pesado, você normalmente está diante de um dos quatro gargalos: CPU, RAM, disco ou tráfego.
Pense no seu servidor como um pequeno restaurante. A CPU é o chef, a RAM é o espaço na bancada, o disco é a despensa e o tráfego é o número de clientes entrando. Uma demora pode acontecer porque o chef está sobrecarregado, a bancada está lotada, a despensa é difícil de vasculhar ou o salão está cheio.
CPU e RAM: o chef e o espaço na bancada
CPU, sigla para central processing unit (unidade central de processamento), é a parte do servidor que faz o trabalho de pensar. Ela executa código, monta páginas, redimensiona imagens, cuida de tarefas em segundo plano e responde às requisições.
Quando o problema é a CPU, o servidor está ocupado calculando. Isso costuma aparecer quando uma página precisa de muito trabalho antes de poder ser enviada a um visitante. Alguns exemplos são um plugin pesado do WordPress, um relatório lento, processamento de imagens, indexação de busca ou um script preso em um laço.
A versão do restaurante é simples: um chef só consegue preparar um certo número de pratos ao mesmo tempo. Se cada pedido é complicado, a fila cresce.
RAM, sigla para random access memory (memória de acesso aleatório), é o espaço de trabalho rápido do servidor. Ela guarda as coisas que seus apps estão usando no momento. Quando há RAM suficiente, o servidor consegue manter o trabalho ativo à mão. Quando a RAM acaba, ele começa a fazer malabarismos.
Esse malabarismo parece lento porque o servidor tem que mover coisas para dentro e para fora de um armazenamento mais lento. É como tentar preparar um jantar inteiro numa tábua de corte minúscula. Você gasta mais tempo movendo tigelas do lugar do que cozinhando.
Problemas de RAM são comuns quando você roda vários serviços em um servidor pequeno: um web app, um banco de dados, um cache, processos em segundo plano e talvez também e-mail ou sincronização de arquivos. Cada um quer o seu próprio espaço.
Se você ainda está escolhendo a capacidade, este guia sobre dimensionamento de CPU, RAM e armazenamento oferece um ponto de partida amigável para iniciantes.
Disco e banco de dados: a despensa e o arquivo
O disco é onde os arquivos ficam a longo prazo: seu app, os uploads, os logs, os arquivos do banco de dados e os backups. Problemas de disco podem significar duas coisas: falta de espaço ou um armazenamento lento demais para a tarefa.
Ficar sem espaço em disco pode causar comportamentos estranhos. Os uploads falham. Os logs param de ser gravados. Os bancos de dados recusam atualizações. Os apps podem exibir erros vagos porque esperavam ter espaço para salvar alguma coisa e não encontraram nenhum.
O disco lento é mais sutil. O servidor pode ter CPU e RAM de sobra, mas passa tempo demais esperando os dados serem lidos ou escritos. É como um chef parado porque a porta da despensa emperra toda vez que ele precisa de um ingrediente.
Os bancos de dados merecem atenção especial. Um banco de dados é o arquivo por trás de muitos sites e apps. Se uma página faz uma pergunta simples ao banco de dados, a resposta volta rapidinho. Se ela faz uma pergunta bagunçada em milhares ou milhões de linhas, a página inteira fica esperando.
É por isso que uma página pode estar lenta enquanto o resto do site parece bem. O servidor pode não estar fraco em geral. Uma consulta ao banco de dados, um plugin, um relatório, uma página de busca ou um painel podem estar fazendo trabalho demais.
Tráfego: o salão está lotado
Às vezes não há nada de errado com o seu app. Você simplesmente tem mais visitantes, bots ou requisições em segundo plano do que o servidor consegue atender com folga.
Tráfego nem sempre significa pessoas de verdade. Mecanismos de busca, verificadores de uptime, bots de spam, tentativas de login, clientes de API e scripts quebrados podem todos bater à porta. Cada requisição pede ao servidor um pouco de trabalho. Requisições pequenas em quantidade suficiente podem virar uma multidão.
É aqui que o momento importa. A lentidão começou depois de uma newsletter, um lançamento de produto, um post nas redes sociais ou uma campanha de anúncios? Acontece sempre no mesmo horário do dia? Começou depois de instalar um plugin, importar dados ou trocar de tema?
Uma boa investigação é, em grande parte, comparação. O que mudou? Toda página está lenta ou só uma? A lentidão afeta os visitantes ou só a área administrativa? Arquivos estáticos, como imagens, carregam rápido enquanto as páginas dinâmicas se arrastam? Essas respostas ajudam a separar a pressão sobre o servidor da pressão sobre o app.
Se você migrou recentemente de uma configuração mais simples para o seu próprio servidor, também ajuda revisitar o básico: o que está rodando, o que deveria ser público e o que pode esperar. Os primeiros passos para gerenciar o seu próprio servidor são um contexto útil, mas o desempenho se resume a entender o que está sendo pedido a cada parte.
O atalho
O Server Manager te dá uma visão clara do que está acontecendo, para você parar de adivinhar. Você consegue ver se o servidor está ficando sem margem de respiro, se o armazenamento está apertando, se o tráfego está fora do comum e se o seu app precisa de atenção. O resultado é simples: você sabe onde olhar primeiro, então não perde tempo mudando a coisa errada.
A vitória: um site lento vira um problema que dá para resolver
Um servidor lento parece um mistério até você dividi-lo em partes simples.
CPU é trabalho de pensar demais. RAM é pouco espaço de trabalho. Disco é armazenamento lento ou cheio. O banco de dados é um arquivo que talvez precise de perguntas melhores. Tráfego é o salão ficando lotado.
Depois que você sabe qual delas está sob pressão, o próximo passo assusta muito menos. Você pode redimensionar, fazer uma limpeza, ajustar o app, arrumar o banco de dados ou reduzir o tráfego indesejado com confiança. A verdadeira vitória não é só um site mais rápido. É saber por que ele estava lento em primeiro lugar.