Resolver problemas

Erro 503 Service Unavailable

Revisto a 6 min de leitura erros HTTP recursos

O erro 503 Service Unavailable indica que o serviço não pode atender o pedido nesse momento. Pode ser temporário, mas é preciso identificar a sua origem antes de alterar a configuração.

O código é genérico. Antes de alterar recursos ou o PHP, guarde o URL, a hora, o corpo e os cabeçalhos de uma única resposta e consulte os registos web, do PHP e da aplicação do mesmo instante. O conteúdo da página pode revelar se o 503 foi gerado pela aplicação, por um modo de manutenção, por um proxy ou pelo servidor.

Consumo de recursos excedido

Cada serviço de alojamento dispõe de recursos atribuídos: CPU, memória RAM e número de processos simultâneos.

Estes limites ajudam a isolar o consumo entre contas do servidor. Não equivalem a dispor de uma máquina física dedicada nem excluem um incidente partilhado.

Nem todos os limites produzem um 503. No CloudLinux, a CPU e o I/O costumam abrandar a conta; o limite de processos de entrada costuma produzir 508; a memória ou o número de processos podem terminar em 500, 503 ou processos terminados. Verifique os contadores de falhas LVE do mesmo intervalo antes de atribuir o código aos recursos.

O cPanel permite depurar as utilizações de recursos e obter snapshots dos processos que geram esses consumos, de forma a obter informação essencial para localizar a causa.

Os snapshots mostram processos e pedidos ativos, mas não garantem a causa. No WordPress ou no Drupal podem apontar index.php por ser o front controller; nesse caso, relacione o URL com o registo e com o perfilamento da aplicação.

Entre as causas que convém comparar com os registos estão:

  • Plugins ou temas com baixo desempenho ou falhas: isole o componente apenas depois de recolher provas, através de um teste reversível e de preferência em staging ou com manutenção e cópia disponível. Não desative indiscriminadamente todos os componentes em produção.
  • Falta de otimização: um site pode funcionar de forma normal e rápida com poucas visitas e, no entanto, criar um "estrangulamento" quando começa a haver mais acessos simultâneos. Isto acontece porque cada processo utiliza uma grande quantidade de recursos; a solução passa por analisar e otimizar as aplicações para reduzir o consumo de recursos, o que, por sua vez, melhorará a velocidade de carregamento.
  • Se as falhas começarem depois de uma atualização de um plugin ou de uma aplicação, verifique os requisitos da nova versão para adaptar as versões de PHP, os módulos e a configuração; se estiverem corretos, consulte o programador para verificar se existe uma falha nessa atualização. Se precisar de voltar atrás, verifique a data e a disponibilidade de uma cópia de segurança.

Em última instância, se a aplicação estiver otimizada tanto quanto possível, pode ser simplesmente que, com o crescimento do projeto, precise de mais recursos. Pode mudar para um plano superior para obter uma maior atribuição de CPU e memória ou contactar-nos para analisarmos as suas necessidades.

Aplicação, manutenção ou backend

Verifique se a aplicação ativou um modo de manutenção ou gera o seu próprio 503. Se o registo identificar o PHP-FPM, o LSAPI ou um backend indisponível, reveja esse serviço. Altere a versão ou os módulos do PHP apenas quando o erro exato ou os requisitos da aplicação demonstrarem incompatibilidade; pode adaptar a configuração do PHP depois de a confirmar.

Problema interno no sistema

Se os registos e as métricas não revelarem a origem, contacte o suporte com o URL, a hora, a resposta exata e os passos para a reproduzir.

Verificar a recuperação

Repita um pedido equivalente e verifique o código, o conteúdo e as métricas. Numa loja, a página inicial voltar a carregar não confirma que o carrinho ou o pagamento funcionam. Se ponderar restaurar, conserve antes as encomendas, as mensagens ou as alterações posteriores à cópia e planeie como as reconciliar.

Se o 503 vier de uma manutenção prevista, verifique a sua duração e a resposta que os utilizadores e os motores de pesquisa recebem. Evite deixar o site indefinidamente nesse estado. Um plano superior faz sentido quando as métricas confirmam falta de capacidade; não corrige uma exceção de código nem um redirecionamento incorreto.

Também lhe pode ser útil

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