Desempenho e monitorização

Utilização de CPU e ligações simultâneas

Revisto a 4 min de leitura CPU processos

Cada alojamento tem limites de CPU, memória, velocidade de disco e processos simultâneos. Servem para garantir os recursos de cada conta e para que o consumo de uma não afete as restantes. Quando um site atinge um desses limites, fica lento ou começa a dar erros como o 503 ou o 508.

Para saber se isso lhe aconteceu e porquê, abra no cPanel Resource Usage (Utilização de recursos).

Dashboard: houve problemas?

O primeiro separador indica se o seu alojamento atingiu algum limite nas últimas 24 horas:

Dashboard de Resource Usage sem problemas nas últimas 24 horas

Se o tiver atingido, verá que recurso se esgotou. Clique em Details para ver os gráficos.

Details: que recurso se esgotou e quando

Os gráficos mostram o consumo de cada recurso face ao seu limite, para o período que escolher (última hora, dia, semana, mês):

Gráficos de consumo de recursos no cPanel

Métrica O que mede Se atingir o limite
SPEED (CPU) Percentagem de CPU que a conta utiliza. 100 % equivale a um núcleo. O site fica mais lento, mas não dá erro.
PMEM Memória RAM utilizada pelos processos da conta. Erro 503 ou 500 e processos interrompidos.
IO e IOPS Velocidade de leitura e escrita em disco e número de operações. Tudo fica lento, sobretudo cópias, importações e bases de dados.
EP (Entry Processes) Pedidos a PHP que estão a ser atendidos ao mesmo tempo. Não são visitantes: uma página em cache não conta. Erro 508 (ou 503) para os pedidos que não cabem.
NPROC Processos em execução ao mesmo tempo, incluindo cron, SSH e correio. Não é possível abrir mais processos: falham tarefas e pedidos.

Repare na linha de faults (limites atingidos): indica quantas vezes se chegou ao limite, e não apenas se o consumo foi elevado. Anote a hora dos picos: vai precisar dela no passo seguinte.

Snapshot: o que o causou

O separador Snapshot guarda capturas dos momentos em que se atingiu algum limite. Escolha o dia no calendário e depois a captura (por hora) em Choose snapshot:

Seletor de dia e captura no separador Snapshot

Cada captura mostra:

  • Processos: o que estava em execução (por exemplo, lsphp de um site, um php de cron, um mysqldump).
  • HTTP Queries: os URL que estavam a ser atendidos. É aqui que costuma ver-se a origem: muitos pedidos a wp-login.php ou xmlrpc.php (ataques), a wp-cron.php, a admin-ajax.php, a pesquisas ou filtros de uma loja, ou de um mesmo robô.
  • Consultas SQL: as consultas que estavam em curso nesse momento, quando as há.

Uma captura é uma fotografia de um instante: compare várias do mesmo problema antes de tirar conclusões.

Causas frequentes e como resolvê-las

  • Páginas sem cache: cada visita executa PHP e consome EP e CPU. Ative o LiteSpeed Cache (ou o módulo equivalente da sua aplicação).
  • wp-cron.php em cada visita: desative o WP-Cron e execute-o com uma tarefa agendada.
  • Robôs e ataques: se vir muitos pedidos a wp-login.php, xmlrpc.php ou de um mesmo bot, bloqueie-os a partir do .htaccess ou com um plugin de segurança.
  • Um plugin ou uma consulta lenta: analise o URL afetado com o PHP X-Ray, que lhe indica que plugin e que consulta demoram.
  • Tarefas pesadas em simultâneo: cópias, importações ou envios em massa agendados para a mesma hora. Separe-as ou passe-as para horas de pouco tráfego.

Se, depois de otimizar, o consumo continuar no limite por tráfego real, pode aumentar a CPU, a memória ou os processos ou passar para um plano superior.

Também lhe pode ser útil

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