Desempenho e monitorização

Otimizar sites e aplicações: acelerar o carregamento e encontrar a causa da lentidão

Revisto a 7 min de leitura otimização desempenho

Estas recomendações servem para qualquer aplicação: WordPress, PrestaShop, Magento, Joomla e semelhantes. Não é um guia específico de cada uma, mas uma lista dos pontos que mais influenciam a velocidade e dos problemas que mais vezes a provocam.

Configuração de produção

As aplicações são instaladas com uma configuração pensada para desenvolver, não para ter o site aberto ao público. Por exemplo, o PrestaShop vem configurado para recompilar os modelos em cada visita: assim vê de imediato as alterações de design, mas numa loja já terminada torna cada página mais lenta e dispara o uso de CPU. É por coisas assim que o PrestaShop ou o Magento parecem lentos «de origem».

Reveja as opções de desempenho da sua aplicação quando terminar o desenvolvimento:

  • PrestaShop: em Advanced Parameters > Performance, Template compilation em Never recompile template files e a cache ativada. Tem o passo a passo em conselhos para acelerar o PrestaShop.
  • Magento: coloque a loja em modo de produção com bin/magento deploy:mode:set production. O modo de programador é muito mais lento.
  • WordPress: verifique se WP_DEBUG está a false no wp-config.php.
  • Joomla: em Sistema > Configuração global > Sistema, desative Depurar sistema (Debug System).

Lembre-se de que, depois de desativar a recompilação, quando alterar o tema terá de esvaziar a cache da aplicação para ver as alterações.

Cache

Cada visita executa código PHP e consultas à base de dados para montar a página. Um sistema de cache guarda o resultado do que não muda e reutiliza-o nas visitas seguintes, em vez de repetir todo o processo. O site fica mais rápido e consome menos recursos, pelo que um plano pequeno aguenta mais tráfego simultâneo.

Os nossos servidores usam LiteSpeed, que tem os seus próprios plugins de cache para tirar todo o partido dele. Use-os se a sua aplicação for compatível:

Use um único plugin de cache de página. Depois de o ativar, verifique o acesso dos utilizadores, os formulários e o processo de compra.

PHP e OPcache

Cada versão de PHP é mais rápida do que a anterior. Use a mais alta que a sua aplicação suporte. No seletor de PHP do cPanel muda de versão de imediato e, se algo falhar, volta à anterior com a mesma rapidez.

Nesse mesmo seletor, ative a extensão opcache: guarda em memória o código PHP já compilado e, em muitos casos, multiplica o desempenho sem tocar em mais nada.

Imagens, CSS e JavaScript

  • Imagens: redimensione-as para o tamanho em que são mostradas. Se precisar dela a 200×200 píxeis, não carregue uma de 2000×2000 para a reduzir com HTML: o visitante descarregará na mesma a grande. Comprima-as também; pode fazê-lo de uma só vez com o otimizador de imagens da área de cliente.
  • CSS e JavaScript: minifique-os e, se o site o tolerar, combine-os. Quase todos os plugins de cache, incluindo os da LiteSpeed, fazem-no com um interruptor. Depois de o ativar, reveja menus, formulários e carrinho.

Recursos externos

Ligar a imagens ou scripts alojados noutros sites é cómodo, mas, se esse servidor ficar lento ou deixar de responder, o seu site fica à espera até se esgotar o tempo. O visitante vê um site lento, ainda que o problema não seja seu.

  • Carregue as imagens para o seu próprio alojamento em vez de as ligar a partir de outro site.
  • Se usar bibliotecas externas (jQuery, Bootstrap, ícones), carregue-as a partir de CDN fiáveis como a jsDelivr ou a cdnjs, ou aloje-as no seu servidor.
  • Retire os scripts de terceiros (chats, píxeis, widgets) que já não use.

Rever os pedidos no navegador

A consola do navegador (separador Rede ou Network) mostra-lhe todos os pedidos que uma página faz: quanto demora cada um, quanto pesa, quais dão erro e se há ficheiros que não sabia que eram carregados. Ordene-os por tempo para ver o que atrasa o carregamento.

Se o que demora é o próprio documento HTML (o primeiro pedido), o problema está no servidor: a aplicação demora a gerar a página. Para ver que plugin, consulta ou chamada externa consome o tempo, use o PHP X-Ray.

Plugins, módulos e temas

O WordPress, o PrestaShop ou o Magento crescem à base de plugins, módulos e temas. Cada um acrescenta peso: já vimos WordPress com mais de 100 plugins, a maioria sem uso real.

  • Instale apenas os de que realmente precisa e apague os que já não usa.
  • Antes de instalar um, veja as suas avaliações e opiniões.
  • Verifique se o programador o mantém e publica novas versões: um plugin abandonado é, além disso, um risco de segurança.
  • Depois de instalar um plugin ou tema novo, verifique se o site não ficou mais lento.

Erros internos

As aplicações ocultam os erros de PHP para não mostrar informação sensível aos visitantes. Mas um erro ou um aviso que se repete em cada visita também torna o site mais lento. Ative temporariamente o registo de erros como explicamos em depurar erros em aplicações PHP, reveja o que aparece e desative-o no fim.

Para o WordPress e o WooCommerce, tem todos estes passos em detalhe no guia para acelerar o WordPress passo a passo.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.