Il existe de nombreuses façons de déployer des applications de pylônes. - Proxying via Apache ou Nginx à coller - Incorporer l'application avec mod_wsgi - Utiliser quelques combo Edgy Nginx + UWSGI - et probablement plus ... p>
J'ai beaucoup lu sur les différentes approches, mais j'ai vraiment décidé de décider lequel choisir. p>
Proxy de la pâte à travers Nginx semble être la méthode la plus simple pour la configuration, mais est-ce efficace? Ne pâtiserais pas être plus lent que mod_wsgi ou USWGI? Si tel est le cas, la performance augmente-t-elle? P>
Besoin de certains experts pour m'aider à choisir le meilleur compromis ... Je veux une simplicité, mais j'ai besoin de performance décente (si elle ne pointe pas) et que vous, Obiwan Kenobi, est mon seul espoir;) p>
3 Réponses :
La meilleure réponse est que cela dépend. P>
d'un point de vue pur de simplicité, Apache2 / Mod_WSGI est probablement le plus facile à gérer depuis que vous avez une piscine beaucoup plus grande de personnes qui comprennent Apache. P>
du point de vue de la performance, cela dépend. P>
Si votre application est très structurée et pas de contenu très statique (CSS, images) intensive, la passerelle entre le serveur Web et les pylônes est plus probable que votre goulot d'étranglement et presque tout déploiement peut gérer cela. P>
La pâte est assez rapide. J'ai trouvé l'interface de Nginx / Uwsgi pour être légèrement plus rapide que Apache2 / Mod_WSGI. Les exigences de la performance et de la mémoire de Nginx sont également également favorables à NGinx. P>
Il y a quelques sites que j'ai rencontrés à la fois: p>
Tonylandis.com/python/Deployment-howt-pylons-nginx-and-uwsgi/ cd34.com/blog/programming/python/pylons-et-facebook-application-layout/ code.google.com/p/modwsgi/wiki/Integrationwithpylons p>
Les comparaisons que j'ai faites sont avec Apache2 / MPM-Travailleur plutôt que MPM-PREFORK, car je n'ai pas besoin de mod_php5 dans ma configuration. P>
Hein. La passerelle entre le serveur Web et les pylônes ne seraient pratiquement jamais le goulot d'étranglement. Les frais généraux des mécanismes d'hébergement, à l'exception de la CGI au moins, sont tellement minimes que, dans la pratique pour un système réel (pas un programme mondial de bonjour), il y aura peu de différence entre différents mécanismes d'hébergement. Au lieu de cela, le goulot d'étranglement sera l'application, les systèmes de rendu et les bases de données. Je ne sais pas ce que vous entendez dire, mais cela ne survient pas vraiment bien.
Si la performance est la plus importante, regardez quelques tests: p>
http://wiki.pylonshq.com/display/pylonscookbook / Quelques performances + test + résultats P>
Il semble que le lien soit mort.
Ce que je voulais dire, c'est que si la demande est plus dépendante du cadre que le contenu statique dépendante, le facteur de limitation serait le serveur Web -> Cadre et j'ai trouvé des différences négligeables dans la performance de NGinx -> UWSGI -> Pylons et travailleur Apache2 / MPM -> mod_wsgi -> pylônes comme le facteur de limitation est des pylônes. Cela ne veut pas dire que les pylônes sont lents. P>
Peu importe la méthode de déploiement que j'ai utilisée avec repoze.qui / quoi, j'ai trouvé difficile à taper 280 demandes par seconde par cèdre de la CPU. P>
@mkucharez, quant à ces résultats de performance, ces résultats ont trois ans et ne sont même pas proches de configurations existantes aujourd'hui. Pylônes 1.0 est d'environ 10% plus rapide que 0,9, le fluillage est beaucoup plus mature et qui ne teste pas UWSGI ou MOD_WSGI. Il utilise également de puissants plutôt que de Mako, soulignant également l'âge du test. P>
Les autres variables cachées comprennent la version de Python. Dans certaines distributions, j'ai trouvé Python 2.5 d'être un peu plus rapide que Python 2.6 en fonction de l'application. P>
Disclaimer: P>