Como melhorar a performance do meu site?

Aqui na Hosting Machine, nós já abordamos o assunto de queries lentas e como elas afetam seu site. No entanto, não fizemos um post sobre como melhorar a performance do seu site em relação a isso. Por isso, nesse post nós vamos te explicar a como melhorar a performance do seu site.

Como melhorar a performance do meu site?

Quais são os principais sinais de um problema de performance?

Um dos sinais mais óbvios que um site tem problemas de performance é longo tempo de carregamento, tanto que é perceptível quando um site demora para carregar. No entanto, a métricas que podem ser usadas para ver se isso estar acontecendo, como o Time to First Byte (TTFB) que mede o intervalo entre o início da navegação e o recebimento do primeiro byte da resposta, sendo tão importante que o Google o considera uma métrica muito importante para avaliar a capacidade de resposta do servidor. Você também pode usar ferramentas para analisar essas métricas, como Google PageSpeed Insights que analisa vários indicadores, como LCP, INP, CLS e FCP.

No entanto, a lentidão pode aparecer de maneira intermitente. Ou seja, um site pode funcionar rapidamente quando há poucos acessos e demorar durante picos de tráfego, que é quando consultas ao banco, processos PHP ou consumo de memória aumentam.

Como identificar as causas da lentidão de um site?

O primeiro passo para identificar a causa da lentidão é ter noção da dimensão do problema. Algumas ferramentas como PageSpeed Insights e Chrome DevTools te permitem analisar diferentes aspectos do carregamento, enquanto as métricas, como LCP, INP, CLS, TTFB e FCP, te ajudam a determinar em qual etapa o site está tendo dificuldades. Entretanto, como o desempenho pode variar de acordo com dispositivo, navegador e condições de rede, é recomendado que você compare os dados de laboratório com dados de usuários reais.

Logo depois disso, você deve investigar cada camada responsável pelo carregamento. Já que, por exemplo, um TTFB alto pode te direcionar a investigar o servidor, aplicação, banco de dados ou rede. No caso do MySQL, o Slow Query Log te permite encontrar consultas que ultrapassam o tempo definido para serem consideradas lentas. Além disso, para sites WP há ferramentas como o Query Monitor que também podem ajudar a identificar consultas ao banco, requisições HTTP, hooks e outros componentes relacionados à geração da página.

Qual é a diferença entre lentidão no banco, no servidor, na aplicação e no navegador?

A lentidão no banco de dados acontece quando as consultas ou operações de leitura e escrita demoram para terminar. Por isso, pontos como queries sem índices adequados, varreduras completas de tabelas e consultas mal estruturadas devem ser investigados.

Já a lentidão no servidor está relacionada aos recursos disponíveis para processar as requisições, como CPU, memória e operações de entrada e saída.

A lentidão na aplicação acontece quando o código, plugins, temas ou outros componentes executam processamento excessivo, consultas desnecessárias ou operações ineficientes. No WordPress, por exemplo, plugins e temas podem contribuir para o aumento das consultas ao banco.

E a lentidão no navegador acontece quando o cliente precisa baixar ou processar muitos recursos, como imagens grandes, JavaScript, CSS e scripts de terceiros.

Por isso, diferentes sintomas podem ter origens completamente distintas, e identificar a camada problemática evita que você aplique uma solução que não resolve a causa real do problema e o retrabalho.

Como queries lentas podem afetar a performance do meu site?

Uma query lenta aumenta o tempo necessário para que o banco de dados processe uma solicitação e devolva os resultados para a aplicação. Quando o site depende dessa resposta para montar uma página, o atraso no banco pode aumentar o tempo total da requisição. Esse problema se torna ainda mais alarmante quando o site executa várias consultas para gerar uma única página ou quando recebe muitas requisições simultaneamente.

Esse problema também pode impactar o servidor. Já que consultas que consomem muitos recursos podem aumentar o uso da CPU, memória e operações de armazenamento, prejudicando outras requisições. Além disso, queries lentas também podem prejudicar a performance de serviços.

Quando falamos de um caso com o tráfego muito alto, uma consulta problemática dessas pode se tornar ainda mais prejudicial. Já que várias execuções simultâneas podem disputar os mesmos recursos. Por conta disso, corrigir queries lentas não significa apenas reduzir alguns segundos de uma consulta individual, mas todo um público.  A otimização de consultas também ajuda a diminuir o trabalho realizado pelo banco e permite que a aplicação suporte uma quantidade maior de requisições com os mesmos recursos.

Plugins e temas WordPress podem afetar o banco de dados?

Plugins e temas podem executar consultas ao banco para recuperar configurações, posts, usuários, metadados e outras informações necessárias para montar uma página. No entanto, quando um componente faz consultas excessivas ou ineficientes, ele pode aumentar o tempo de processamento de uma requisição. Por conta disso, tanto o tema quanto os plugins podem ter uma grande influência sobre a performance do site.

Além disso, plugins também podem criar e armazenar grandes quantidades de informações no banco. Dependendo da função que o plugin desempenha, esses dados armazenados podem incluir registros, metadados, transientes e opções. Ou seja, um volume alto de opções carregadas automaticamente, por exemplo, pode aumentar o trabalho realizado em cada carregamento. Por isso o WordPress recomenda que você se mantenha atento a esse tipo de dado, além de enfatizar que o excesso de opções autoloaded pode prejudicar a performance do site.

Para você investigar qual componente está causando o problema, você pode usar o Query Monitor, já que ele mostra informações sobre as consultas ao banco e, com isso, você pode relacioná-las a algum plugin ou tema.

Além disso, o WordPress também oferece o SAVEQUERIES, que registra cada consulta junto com seu tempo de execução e qual foi a função responsável por chamá-la. No entanto, esse recurso causa um impacto considerável de performance e só deve ser usado durante a investigação.

Aqui na Hosting Machine, nós oferecemos o serviço de suporte e manutenção WordPress, onde nós cuidamos de todas as atualizações e otimizações necessárias para garantir que seu site WordPress funcione sem problemas

Como CPU, RAM e I/O influenciam a velocidade de um site?

O CPU, memória RAM e I/O são recursos fundamentais para o processamento das requisições de um site. Isto é porque a CPU executa todas as instruções necessárias para processar a aplicação, interpretar código e realizar as operações. Mas, quando o processamento disponível fica saturado, o sistema pode levar mais tempo para atender às novas requisições.

Já a RAM permite manter dados e processos em memória. Assim, quando os recursos são insuficientes, o sistema pode precisar recorrer ao armazenamento, consequentemente aumentando o tempo necessário para determinadas operações.

O I/O, que está relacionado às operações de entrada e saída, também pode se tornar um gargalo. Isto é porque o banco de dados precisa acessar o armazenamento para ler e gravar informações, enquanto o servidor também trabalha com arquivos, logs e outros dados. Por conta disso, consultas que examinam muitos registros ou processos que fazem muitas operações de leitura e escrita podem aumentar essa demanda.

Esses recursos também estão relacionados às queries lentas. Já que problemas de performance do servidor podem contribuir para consultas demoradas. Por conta disso, o próprio WordPress recomenda o monitoramento do desempenho do servidor e a redução de processos desnecessários.

Ou seja, antes de aumentar os recursos da sua hospedagem, verifique se o consumo elevado resulta de uma demanda legítima ou de consultas, plugins, scripts e configurações que você pode otimizar.

Como diminuir o tempo de carregamento do site no navegador?

Uma das formas mais eficazes de diminuir o tempo de carregamento no seu navegador é reduzir a quantidade de dados que o navegador precisa baixar, processar e renderizar. Como por exemplo imagens, que costumam representar uma parcela significativa do tamanho de uma página. Por isso, é importante usar dimensões adequadas, aplicar compressão e escolher formatos apropriados. No entanto as ideais são imagens responsivas, já que elas permitem que o navegador escolha uma versão compatível com o tamanho da tela, assim evitando transferir arquivos muito maiores do que o necessário.

Além disso, também é muito importante revisar CSS e JavaScript. Isto é porque recursos que bloqueiam a renderização podem atrasar a apresentação inicial do conteúdo, enquanto um JS pesado pode ocupar a thread principal do navegador e prejudicar a responsividade. Por conta disso, reduza os recursos críticos, adie scripts não essenciais e evite tarefas JavaScript longas. Também sempre revise e otimize todos os seus scripts, pois isso é algo fundamental para ter um bom desempenho, no entanto isso deve ser feito apenas por profissionais.