Dans la production, Apache + mod_wsgi ou Nginx + mod_wsgi?
Quoi utiliser pour une moyenne à grande python application WSGI, Apache + mod_wsgi ou Nginx + mod_wsgi?
La combinaison auront besoin de plus de mémoire et de temps PROCESSEUR?
Lequel est le plus rapide?
Qui est connu pour être plus stable que les autres?
Je pense aussi à utiliser CherryPy du serveur WSGI mais j'ai entendu dire qu'il n'est pas très adapté pour une très haute charge de l'application, que savez-vous à ce sujet?
Note: je n'ai pas utiliser un Framework Web Python, j'ai juste écrit le tout à partir de zéro.
Note": Autres suggestions sont également les bienvenues.
Vous devez vous connecter pour publier un commentaire.
Pour nginx/mod_wsgi, assurez-vous de lire:
http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-of.html
Raison de la façon dont nginx est un événement piloté par le système de dessous, elle a des traits de comportement qui nuisent à bloquer les applications comme c'est le cas avec WSGI en fonction des applications. Dans le pire des scénarios, c'est qu'avec multi process nginx configuration, vous pouvez voir les demandes de l'utilisateur est bloqué même si certains nginx les processus de travail peuvent être inactives. Apache/mod_wsgi n'ont pas ce problème en tant que processus Apache n'acceptera que les demandes lorsqu'il a les ressources pour le traitement effectif de la demande. Apache/mod_wsgi donnera ainsi plus prévisible et plus fiable du comportement.
L'auteur de nginx mod_wsgi explique certaines différences de Apache mod_wsgi dans cette liste de diffusion de message.
La principale différence est que nginx est construit pour gérer un grand nombre de connexions dans un plus petit espace mémoire. De ce fait, il est très bien adapté pour les applications qui sont en train de faire de la comète comme des connexions qui peut avoir beaucoup ralenti les connexions ouvertes. Ceci lui donne également tout à fait une mémoire de petite impression de pied.
À partir d'un raw point de vue des performances, nginx est plus rapide, mais pas tellement plus vite que je dirais que comme un facteur déterminant.
Apache a l'avantage dans le domaine de modules disponibles, et le fait qu'il est à peu près standard. Tout d'hébergement web vous allez avec l'aurez installé, et la plupart des techniciens sont va être très familier avec elle.
Aussi, si vous utilisez mod_wsgi, il est de votre serveur wsgi de sorte que vous n'avez même pas besoin cherrypy.
Autre que cela, le meilleur conseil que je peux donner c'est d'essayer de configuration de votre application sous en deux et faire un peu de benchmarking, car peu importe ce qu'on vous dit, votre kilométrage peut varier.
Une chose que CherryPy du serveur a aller pour elle, c'est que c'est un pur python serveur web (autant que je sache), ce qui peut ou ne peut pas faire de déploiement plus facile pour vous. De Plus, j'ai pu voir les avantages de l'aide si vous êtes juste en utilisant un serveur WSGI pour et le contenu statique.
(shameless plug attention: j'ai écrit le WSGI code que je suis sur le point de le mentionner)
Kamaelia aura WSGI de soutien à venir dans la prochaine version. Le truc cool, c'est que vous aurez probablement être en mesure d'utiliser le pré-faites un ou de construire votre propre en utilisant le HTTP existants et WSGI code.
(fin shameless plug)
Avec cela dit, étant donné les options en cours, je serais personnellement probablement aller avec CherryPy, car il semble être le plus simple à configurer et je peux comprendre le code python moreso que je peux comprendre du code C.
Vous pouvez faire de mieux pour essayer chacun d'eux et voir ce que les avantages et les inconvénients de chacun sont pour votre application spécifique si.