Qu'il s'agisse de worker ou de Nginx de Process, cela est déterminé en fonction du nombre de CPU cœurs de votre serveur. Votre Alibaba Cloud n'a que des dual core (2个核) ?
Je ne sais pas grand chose sur
gunicorn, mais uWSGI a aussi un worker, qui est généralement réglé sur 核数X2.
NginxOn dit que 8 les processus suffisent.
Recherchez en ligne Nginx l'optimisation, il devrait y avoir pas mal de tutoriels.
À propos de worker, il est fondamentalement recommandé d'être une à deux fois le nombre réel de CPU cœurs. J'utilise généralement autant de worker qu'il y a de cœurs.
Quant à supervisor, je ne semble pas avoir vu les paramètres liés à worker.
En fait, j'utilise la combinaison de uwsgi + supervisor + nginx. Vous pouvez google télécharger les détails. J'ai juste suivi le fonctionnaire wiki et je n'ai rien utilisé d'extraordinaire.
PS : abandonnez les documents chinois, la plupart d'entre eux sont en mauvais état. Même si l'anglais n'est pas facile à lire, au moins vous ne pouvez pas entrer dans la fosse
gunicorn est un serveur WSGI couramment utilisé dans les applications actuelles, uWSGI et gunicorn sont tous deux des choix courants, et les performances des deux ne sont pas très éloignées. 2 * cpu数 + 1 L'exemple de valeur du nombre configuré de travailleurs sur le site officiel est
5Donc, pour le serveur dual-core du sujet, il doit être défini sur , ce qui est approprié.
supervisor et Gunicorn sont un outil de gestion de processus qui peut être utilisé pour gérer de nombreux processus, pas seulement Redis, je l'utilise même pour gérer supervisor. En effet, il y a quelque chose de similaire à la quantité worker dans procs, appelée supervisor, qui est en fait le nombre de processus. C'est-à-dire que si vous en configurez quelques-uns,
vous aidera à démarrer plusieurs processus. .
supervisorIl est à noter que les travailleurs de Gunicorn et
sont indépendants. En supposant que vous définissez les deux sur 5, il y aura en réalité 5 * 5 = 25 processus fournissant des services.
nginx
est généralement utilisé pour le proxy inverse et l'équilibrage de charge. Supposons que deux applications Web s'exécutent localement sur le serveur :
.
http://127.0.0.1:5000Blog
http://127.0.0.1:8080 Forum
Ensuite vous souhaitez accéder à ces deux applications séparément via des noms de domaine, par exemple
http://baidu.com/blog Blog
http://baidu.com/bss Forum
Ensuite, cela peut être configuré via nginx.
geventIO密集型 est une bibliothèque pour les coroutines. Elle est généralement utilisée dans les applications IO密集型 et n'est pas recommandée. S'il s'agit d'une application Tornado, il est recommandé d'utiliser le framework
pour l'écriture.
C'est tout. Il est recommandé de lire davantage de documents officiels.
Qu'il s'agisse de
Je ne sais pas grand chose surworker
ou deNginx
deProcess
, cela est déterminé en fonction du nombre deCPU
cœurs de votre serveur. Votre Alibaba Cloud n'a que des dual core (2个核
) ?gunicorn
, maisuWSGI
a aussi unworker
, qui est généralement réglé sur核数X2
.Nginx
On dit que8
les processus suffisent.Recherchez en ligne
Nginx
l'optimisation, il devrait y avoir pas mal de tutoriels.À propos de
worker
, il est fondamentalement recommandé d'être une à deux fois le nombre réel deCPU
cœurs. J'utilise généralement autant deworker
qu'il y a de cœurs.Quant à
supervisor
, je ne semble pas avoir vu les paramètres liés àworker
.En fait, j'utilise la combinaison de
uwsgi
+supervisor
+nginx
. Vous pouvezgoogle
télécharger les détails. J'ai juste suivi le fonctionnairewiki
et je n'ai rien utilisé d'extraordinaire.PS : abandonnez les documents chinois, la plupart d'entre eux sont en mauvais état. Même si l'anglais n'est pas facile à lire, au moins vous ne pouvez pas entrer dans la fosse
.Le nombre de Workers Gunicorn est généralement configuré d'un point de vue expérience
2 * core + 1
, core fait référence au nombre de cœurs.Le superviseur n'a pas pour concept de configurer le nombre de travailleurs, mais il configure le nombre de processus
numprocs
Ce champSi vous utilisez gunicorn, il est généralement recommandé de configurer
worker_class
surgevent
, vous le savez.
, et l'exemple du site officiel estgunicorn
est un serveur WSGI couramment utilisé dans les applications actuelles,uWSGI
etgunicorn
sont tous deux des choix courants, et les performances des deux ne sont pas très éloignées.2 * cpu数 + 1
L'exemple de valeur du nombre configuré de travailleurs sur le site officiel est5
Donc, pour le serveur dual-core du sujet, il doit être défini sur , ce qui est approprié.supervisor
etGunicorn
sont un outil de gestion de processus qui peut être utilisé pour gérer de nombreux processus, pas seulementRedis
, je l'utilise même pour gérersupervisor
. En effet, il y a quelque chose de similaire à la quantitéworker
dansprocs
, appeléesupervisor
, qui est en fait le nombre de processus. C'est-à-dire que si vous en configurez quelques-uns,supervisor
Il est à noter que les travailleurs deGunicorn
etnginx
.-
http://127.0.0.1:5000Blog
-
http://127.0.0.1:8080 Forum
gevent
IO密集型
est une bibliothèque pour les coroutines. Elle est généralement utilisée dans les applicationsIO密集型
et n'est pas recommandée. S'il s'agit d'une applicationTornado
, il est recommandé d'utiliser le framework