New config to adjust timeouts between NGINX and PHP-FPM (fix PHP zombie process)
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.2k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
Description
Hi,
I have a question that I haven't found the answer online. I made this graph to illustrate the situation. When there are many requests waiting in the backlog queue (because the workers are busy), a time desynchronization happens between NGINX and PHP-FPM.
The PHP-FPM continues getting the requests from the backlog queue even though NGINX has already answered the client with 504 response.
This is a waste of resources, as the PHP result will never reach NGINX, as NGINX has already responded to the request with 504 to the client
When this happens the new requests receives a timeout because they go to the end of the queue and are processed with delay
If there is a configuration that takes into account the time that the process spends in the backlog queue, these "zombie" processes do not even need to be processed if they have already reached the timeout limit
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par étudier la gestion de la file d’attente de PHP-FPM et son interaction avec les timeouts de NGINX, comme décrit dans l’issue. Déterminez si le comportement de configuration demandé est réalisable et définissez comment doivent être traitées les requêtes qui ont déjà dépassé le timeout du client. Le travail est considéré comme terminé lorsqu’une conception de configuration validée d’un commun accord est disponible avec un scénario de timeout validé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- nginx, php
- Domaine
- backend, performance
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100