wsgi ou cgi ou fastcgi choisir pour gérer un script python unique

J’ai un script python unique pour remplacer un script php qui gère un simple insert dans la firebase database mysql. Je devais utiliser un pool de connexions de firebase database pour pouvoir traiter des requêtes ou des requêtes très élevées (environ 1000 requêtes / s, à vérifier) ​​sur une micro-instance aws (considérée comme perl et autre langage de script). Après toutes les lectures, je pense que python pourrait gérer un pool de connexions. J’ai tellement besoin de trouver des moyens d’exécuter Python sous Apache2.

Toutes les lectures semblent indiquer que mod_wsgi est un peu trop complexe pour un seul script. Ceux qui ont eu une expérience concrète de l’exécution de python (pas de framework) en apache, dont l’un peut convenir à ce scénario:

  • l’utilisation du processeur
  • Utilisation de la mémoire
  • si des réglages complexes sont nécessaires ou non

Pardonnez mon ignorance si je semble avoir manqué l’évidence. Comme ce n’est pas une comparaison directe comme celle qui est la meilleure, veuillez comprendre que je voudrais une approche très concrète pour vous aider à prendre la bonne décision. Merci de votre aide.

mod_wsgi est la voie à suivre dans cette situation. Il existe des méthodes plus légères, telles que uWsgi, mais mod_wsgi devrait pouvoir traiter 1 000 requêtes / s sans constituer le goulot d’étranglement principal.

Voici quelques points de référence pour la comparaison:

http://nichol.as/benchmark-of-python-web-servers

  1. Essayez de mesurer la charge de la firebase database. Est-ce que DB est sur la même instance aws micro? Cela vous convient-il? La charge principale a DB. MySQL peut être surchargé si votre requête est simple mais contient beaucoup de données. S’il vous plaît regarder aws banchmark http://www.laurencegellert.com/2013/04/aws-benchmark-of-mysql-5-5-rds-vs-ec2/

  2. Transformez MySQL et Apache en mémoire faible.
    2.1 Recherchez via Google “Comment optimiser les performances du serveur Web Apache” sur digitalocean com.
    2.2 Assistant pour MySQL https://tools.percona.com/wizard

  3. Oui mod_wsgi moins de mémoire que les autres mais s’il n’y a qu’une seule instance de python à un moment donné (une seule connexion), alors ce n’est pas un gros profit.

  4. Si possible, essayez de remplacer apache2 par ngnix. Probablement, cela donne de la mémoire libre, lancez le script python via uwsgi. Regardez l’article “Déploiement de Python avec uWSGI et Nginx sur Ubuntu 13.10” via google