Configurar corretamente o timeout php-fpm é um daqueles detalhes técnicos que muitos ignoram até que o servidor comece a apresentar lentidão extrema ou os usuários reclamem de erros 504. O ajuste fino do timeout php-fpm é um equilíbrio delicado entre dar tempo ao script e proteger a saúde do seu servidor.
Timeouts mal configurados no PHP-FPM podem causar filas de requisições, travamentos e alto consumo de recursos. Ajustar esses parâmetros faz parte de uma estratégia maior apresentada no guia completo de alta performance para servidor Linux
O Impacto Real de um Timeout PHP-FPM Mal Ajustado
Quando os limites estão mal definidos, o servidor sofre de duas formas. Timeouts curtos demais interrompem processos legítimos, enquanto um timeout php-fpm excessivamente longo pode causar o “empilhamento” de processos. Se uma API externa trava, seus workers ficam pendurados, esgotando o max_children e derrubando o site por completo.
Como Calcular o Limite do Timeout PHP-FPM
O cálculo ideal não é aleatório; ele segue uma hierarquia de camadas. Para que o timeout php-fpm funcione como uma rede de segurança, ele deve ser coordenado com o servidor web (Nginx/Apache).
A Regra de Hierarquia
Para um funcionamento saudável, aplique a seguinte lógica matemática:
T_{nginx} > T_{fpm} > T_{php}
Tabela de Configuração Recomendada
Se o seu objetivo é um limite real de 30 segundos para o usuário, configure assim:
| Componente | Diretiva | Valor Sugerido |
| Nginx | fastcgi_read_timeout | 60s |
| PHP-FPM | request_terminate_timeout | 35s |
| PHP Core | max_execution_time | 30s |
Neste cenário, o timeout php-fpm (request_terminate_timeout) atua como o “matador de processos” caso o script ignore o limite interno do PHP, mas antes que o Nginx desista da conexão.
Quando um processo PHP fica preso por muito tempo, ele bloqueia workers disponíveis e reduz a capacidade de resposta do servidor. Por isso, o controle de timeouts faz parte da arquitetura de alta performance em servidores Linux
Estratégias para Otimizar o seu Servidor
- Monitore o Slow Log: Ative o log de lentidão para identificar qual script está atingindo o limite do timeout php-fpm. Use
request_slowlog_timeout = 5s. - Isole Processos Pesados: Nunca aumente o timeout php-fpm global para resolver um problema de um único relatório pesado. Crie um pool separado para tarefas de longa duração.
- Ajuste o I/O: Lembre-se que o
max_execution_timedo PHP não conta tempo de espera de banco de dados, mas o timeout php-fpm sim. Por isso, ele é sua ferramenta mais confiável de gestão de recursos.
Conclusão sobre o Limite Ideal
Ajustar o timeout php-fpm é prevenir que uma falha externa se torne um desastre interno. Ao definir limites claros e hierárquicos, você garante que o servidor permaneça responsivo mesmo sob estresse.
Configurar corretamente timeouts e limites do PHP-FPM é essencial para evitar gargalos em aplicações PHP. Para entender todas as camadas envolvidas na performance do servidor, consulte o guia definitivo de alta performance em servidores Linux
FAQ
max_execution_time e request_terminate_timeout?O max_execution_time é uma diretiva do PHP que limita o tempo de CPU gasto pelo script. Já o request_terminate_timeout é uma configuração do PHP-FPM que força o encerramento do processo após o tempo X, independentemente se o PHP ainda está processando I/O ou espera de banco de dados.
Geralmente porque o Nginx (ou Apache) tem seu próprio timeout (fastcgi_read_timeout). Se o PHP demorar 60s mas o Nginx estiver configurado para esperar apenas 30s, a conexão será cortada antes do PHP terminar.
Timeouts muito longos permitem que processos “zumbis” ou travados ocupem slots de children do PHP-FPM. Isso consome memória RAM continuamente e impede que novas requisições legítimas sejam processadas, causando negação de serviço.
Para aplicações web comuns, o ideal é manter entre 30 a 60 segundos. Processos que exigem mais tempo (como exportação de relatórios) devem ser movidos para filas (Queues/Jobs) ou processados via CLI para não travar o pool do servidor web.
Precisa de ajuda com outro problema?
[Nossa equipe está disponível 24 horas por dia, 7 dias por semana]
Veja Mais:
Nginx FastCGI Cache vs Redis: Qual a Melhor Estratégia de Cache?
Como Ativar HTTP/3 e QUIC no seu Servidor
PHP-FPM: O que é, Como Funciona e Por Que Melhora a Performance do Servidor
Como Otimizar my.cnf e Reduzir o Uso de CPU no MariaDB/MySQL
Performance Servidor Linux 2026: O Guia Definitivo de Otimização

