Was ist der Vorteil, mehrere Threads pro UWSGI-Prozess zu laufen?

Wenn ich die Blockierung Operationen wie Abfrage einer Datenbank, dann was ist der Vorteil? Wie fügt man extra lohnende Kapazität hinzu?

One Solution collect form web for “Was ist der Vorteil, mehrere Threads pro UWSGI-Prozess zu laufen?”

Pythons native Multithreading ist von GIL-Einschränkungen betroffen. Einfach ausgedrückt, nur ein Python-Thread zu einer Zeit wird physisch ausgeführt. Eine Ausnahme hiervon blockieren IO-Aufrufe (zB DB-Abfrage), die andere Python-Threads übernehmen lassen, was die Performance von IO-gebundenen Operationen erhöhen kann.

So wäre der echte Leistungsgewinn nur möglich, wenn deine Anwendung meist IO-gebunden ist. Allerdings sollten Sie in diesem Fall die App asynchron betrachten, welche uWSGI auch unterstützt.

Andernfalls sollten Sie Ihre App Single-Threaded und verwenden Sie Multiprozess uWSGI zu skalieren.

  • Wie setze ich Unterverzeichnis in nginx mit Django ein
  • Got 'Keine solche Datei oder Verzeichnis' Fehler bei der Konfiguration von nginx und uwsgi
  • Web2Py auf G-WAN laufen lassen (im Allgemeinen Python's Framework auf G-WAN)
  • Bereitstellung von Flaschen-App mit uwsgi und flask-script Manager
  • Nginx django uwsgi Seite nicht gefunden Fehler
  • Django, Virtualenv, nginx + uwsgi Import-Modul wsgi Fehler
  • Keine Ausnahmeprotokollausgabe in excepiton.log-Datei im Pyramidenprojekt mit Plugin pyramid_exclog unter uwsgi
  • Python subprocess.Popen langsam unter uWSGI
  • Wie man anmutige Herunterfahren in Python uwsgi Anwendung zu behandeln
  • Django App-Bereitstellung auf nGINX
  • Kommunikation zwischen den Arbeitern in uwsgi
  • Python ist die beste Programmiersprache der Welt.