Maison > Questions et réponses > le corps du texte
配置了一下午环境,跑起来是跑起来了,但是寻摸着一次琢磨透他们嘛。
鉴于gunicorn,supervisor用的不多,网络上找到资料很少(中文)
英文的也有些不太好懂。
想问下gunicorn可以设置worker设置几个比较合适呢。阿里云服务器,双核的。
supervisor是不是也有设置类似worker的地方,配置一下午迷糊了。
nginx呢。
晕乎乎的。
另外gevent不太了解,这个有必要上吗。我看配置起来蛮简单的。有什么优缺点呢。
谢谢各位。
阿神2017-04-18 09:17:36
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个核
) ?
gunicorn
, mais uWSGI
a aussi un worker
, qui est généralement réglé sur 核数X2
.
Nginx
On dit que 8
les processus suffisent.
Recherchez en ligne Nginx
l'optimisation, il devrait y avoir pas mal de tutoriels.
PHP中文网2017-04-18 09:17:36
À 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
.高洛峰2017-04-18 09:17:36
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 champ
Si vous utilisez gunicorn, il est généralement recommandé de configurer worker_class
sur gevent
, vous le savez.
ringa_lee2017-04-18 09:17:36
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
import multiprocessing
bind = "127.0.0.1:8000"
workers = multiprocessing.cpu_count() * 2 + 1
5
Donc, 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,
supervisor
Il est à noter que les travailleurs de Gunicorn
et
nginx
Ensuite vous souhaitez accéder à ces deux applications séparément via des noms de domaine, par exemple
Ensuite, cela peut être configuré via nginx.
gevent
IO密集型
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
C'est tout. Il est recommandé de lire davantage de documents officiels. <🎜>