Development #22270
uwsgi avec que des threads
0%
Description
processes = 1
threads = 5 (?)
Ça aiderait pour prometheus qui vit mieux sa vie en mode threads. (le module python a un mode "multiprocess" qui demande du code en plus).
Historique
Mis à jour par Frédéric Péters il y a environ 6 ans
(pour info j'ai fait ça sur la recette via le uwsgi-local.ini)
Mis à jour par Thomas Noël il y a environ 6 ans
On se donne un peu de temps de vie en recette, puis en prod dans un local.ini identique, avant de patcher ?
Mis à jour par Frédéric Péters il y a environ 6 ans
Yes. (et en attendant on peut préparer le passage d'autres briques à uwsgi)
Mis à jour par Thomas Noël il y a environ 6 ans
A jouer avec ça, je suis pas très à l'aise : un seul processus je ne sais pas comment ça va se comporter par rapport à la gestion harakiri et ce genre de choses dans uwsgi. On perd aussi pas mal de visibilité via uwsgitop.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Ouaip je suis pas chaud bouillant non plus, qu'est-ce qui embête prometheus dans le fait d'avoir des process ?
Mis à jour par Emmanuel Cazenave il y a environ 6 ans
De base pas de gestion mutliprocess dans https://github.com/prometheus/client_python#multiprocess-mode-gunicorn : les stats ne sont pas agrégées entre les processus.
Une requête de demande de stats aura pas les même résultats si elle est servie par le processus X versus processus Y.
Moi aussi je trouve ça un peu violent de passer à un seul processus, mais contourner le problème comme décrit dans la doc semble un peu pénible aussi.
Mis à jour par Thomas Noël il y a environ 6 ans
Lu ailleurs (https://hynek.me/talks/prometheus/), mais je ne sais pas si c'est pertinent pour nous : « Another approach is to expose your metrics per process. In uWSGI you can use uwsgi.worker_id() as a label »
Mis à jour par Frédéric Péters il y a environ 6 ans
Lu ailleurs (https://hynek.me/talks/prometheus/), mais je ne sais pas si c'est pertinent pour nous : « Another approach is to expose your metrics per process. In uWSGI you can use uwsgi.worker_id() as a label »
Oui c'est une bonne approche, de manière apparentée inclure le pid dans les paramètres de la métrique (pour que ça soit ok aussi avec gunicorn). (et côté graphe ça accumulera les valeurs).
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Nouveau à Fermé
- Planning mis à Non
Oublions tout ça.