FPM pool manager
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.1k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
Description
FPM allows creating multiple pools which except other things provides some sort of separation between processes. There is still however lots of shared resources because MINIT happens in master process which is common for all pools. That's problematic for extension like opcache that creates shared memory between all pools. This gets even more problematic if pools have different users / groups configured due to potential permission errors when accessing shared resources.
The proposed solution for this problem is to create extra layer between master and children processes. It would be a pool manager process that would handle creation of children, logs, MINIT and other things currently handled by master process. Master process would then become very thin and just supervise pool manager(s) as well as some other common things (e.g. loading configuration). This would be also beneficial for improving graceful reload and extending of status and access logging for resource information related to the whole pool like for example request for adding utime and stime.
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
Aucun fichier ni test n’est indiqué. Commencez par retracer les responsabilités actuelles des processus master et child de PHP-FPM, notamment la création des pools, la journalisation et la gestion de MINIT, puis déterminez comment une couche pool-manager pourrait isoler les ressources partagées. La tâche serait considérée comme terminée lorsqu’une conception approuvée et une implémentation couvrant les responsabilités de processus proposées et la séparation des pools seraient disponibles.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c, php
- Domaine
- backend, operating-systems
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100