Comment faire pour exécuter gevent dans la production
Je suis en train de l'utilisation de gevent dans mon application en Python (Django base). Cependant, je suis maintenant vous vous demandez comment l'exécuter dans la production. Quel serveur dois-je utiliser? Au cours du développement, j'utilise gevent.pywsgi, mais est-ce que prêt à la production? J'ai aussi entendu parler de gunicorn, mais j'ai vu quelques jolies mal de repères à ce sujet.
Note: j'ai besoin de SSL.
- Deux points à propos de ce cas-test. 1.) Le gunicorn test utilise la valeur par défaut de synchronisation travailleur de ne pas le gevent travailleur que vous êtes à la recherche à utiliser. 2.) Le résumé, "Si il ya une chose qui fait de cet indice de référence clair, c'est que la plupart Python serveurs Web offre des performances exceptionnelles et si vous pensez que les choses sont lentes, la première chose à regarder, c'est vraiment votre propre application."
- Voir la réponse à une question similaire (stackoverflow.com/questions/7855343/run-web-app-with-gevent/...), auteur de gevent dit lui-même, en un mot, "l'Utilisation gunicorn."
Vous devez vous connecter pour publier un commentaire.
Gunicorn est vraiment la meilleure option. C'est rapide, c'est écrit en pur python (ce qui le rend facile à déployer sur les services hébergés comme Heroku), et il est bien entretenu et utilisé pour un grand nombre d'applications web en Python.
Par défaut, Gunicorn utilise un synchrones dans la catégorie des travailleurs pour servir les demandes, mais il peut être facilement configuré pour utiliser gevent en ajoutant simplement
-k gevent
la commande exécuter.Juste une petite remarque: vous devez toujours exécuter gunicorn derrière un proxy comme NGINX, Varnish, etc., cela permettra gunicorn à la poignée de beaucoup plus de demandes qu'il ne peut autrement, en raison de la mise en mémoire tampon.