O que é

A aba Configurações → Limites de CPU define um teto de processador para cada site e cada aplicação. Com teto, um site que sai do controle fica preso no limite dele e os outros continuam rápidos.

É a resposta para o problema clássico de servidor compartilhado: um único site com um plugin pesado, um robô varrendo as páginas ou um cron mal feito consome todo o processador, e todos os sites do servidor ficam lentos ao mesmo tempo.

Como o teto é medido

O teto é uma porcentagem do servidor inteiro, a mesma medida da coluna CPU da lista de Sites. Num servidor de 2 núcleos, 50% é um núcleo inteiro. O mínimo é 5%.

A tela mostra, por site e por aplicação:

  • Uso agora: o consumo do último minuto.
  • Pico 1 h: o maior consumo da última hora, que é o número que ajuda a escolher o teto.
  • Teto: o limite atual, ou “Sem teto”.

Se você definir um teto abaixo do pico da última hora, a própria tela avisa: o site vai ficar lento justamente nos momentos de maior movimento. Use o pico como piso da sua escolha.

Definindo o teto

  1. Abra Configurações → Limites de CPU.
  2. Escolha o teto de cada site na lista, ou deixe em “Sem teto”.
  3. Para as aplicações, o teto vale para cada container dela.
  4. Salve. O painel aplica na hora, sem precisar reiniciar o servidor.

Teto para sites novos

No topo da tela existe o campo Teto para sites novos. Ele vale só para sites criados dali em diante.

Site que já existe nunca ganha teto sozinho. Mesmo depois de definir o padrão, os sites antigos continuam “Sem teto” até você escolher um para cada um. É proposital: ninguém gosta de descobrir que um site ficou mais lento por causa de uma configuração que ele não aplicou.

O que muda no servidor quando um site ganha teto

  • O site passa a ter um PHP próprio, separado dos demais. Isso custa cerca de 15 a 18 MB de memória por site com teto.
  • Na primeira vez que qualquer site do servidor recebe teto, o PHP de todos os sites daquela versão reinicia uma vez, o que tira os sites do ar por 1 a 2 segundos. Depois disso, aplicar ou tirar o teto de um site afeta só ele, por menos de meio segundo.
  • Quando a CPU do servidor acaba, os sites com teto dividem o processador por igual entre si.
  • Na lista, o estado do PHP do site aparece como PHP próprio, PHP próprio parado (ninguém acessou ainda) ou Compartilhado (sem teto).

O que NÃO entra no teto: o banco de dados (MariaDB e PostgreSQL) e as tarefas agendadas (cron) do site. O teto vale para o PHP que atende as visitas. Se o peso do site estiver no banco, o caminho é otimizar as consultas ou o cache, não o teto.

Escolhendo um valor

Não existe número mágico, mas serve de partida:

  • Servidor com poucos sites e sobra de CPU: comece sem teto e use a tela só para observar o pico.
  • Servidor cheio: dê a cada site um teto acima do pico dele na última hora, deixando folga para o servidor respirar. A soma dos tetos pode passar de 100%: o teto é um limite, não uma reserva.
  • Site problemático conhecido (muito plugin, muito robô): esse é o caso em que o teto paga sozinho. Prenda ele e observe os outros voltarem ao normal.

O alerta “no teto de CPU”

Em Configurações → Alertas existe o aviso Site ou aplicação no teto de CPU: ele chega por e-mail ou webhook quando um site ou aplicação fica pelo menos 5 minutos preso no teto.

É o par natural do teto: o limite impede que um site derrube o servidor, e o alerta conta que aquele site está pedindo mais do que você deu a ele. A partir daí a decisão é sua: aumentar o teto, otimizar o site ou olhar o que mudou nele.

Veja também