Warum ist (das Ausliefern großer Dateien in) WSGI so lahm?
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Warum ist (das Ausliefern großer Dateien in) WSGI so lahm? Das sagts eigentlich schon. Wollte das nur mal wissen, weil mir das beim Entwickeln von WSGI-Apps so langsam auf den Keks geht. Klar, später lässt man das den Webserver machen. Aber während der Entwicklungszeit nicht...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Weil Python das erstmal einlesen muss und dann zum Browser ausliefern muss. Da die Entwicklungsserver nicht wirklich schnell sind, dauert das eben. Zumal die Webserver da direkt OS/Aufrufe wie ``sendfile()`` nutzen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Naja, aber das einlesen dauert < 1 Sekunde. Und die Kommunikation zwischen Python und Server kann doch nicht sooo langsam sein...?
Hm, irgendwelche Alternativen (außer nem Webserver)?
Hm, irgendwelche Alternativen (außer nem Webserver)?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Was spricht gegen einen Webserver? Alternativ kannst du natuerlich mal den Paste-WSGI-Webserver versuchen, der ist vermutlich schneller als der den du nutzt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Es geht auch schneller: http://www.python.org/dev/peps/pep-0333 ... e-handling
Info am Rande: Bottle unterstützt wsgi.file_wrapper, wenn es der Gateway auch tut.
Aber das implementiert so gut wie kein WSGI Gateway und nur wenige Frameworks. Paste zum Beispiel tut das nicht.Some operating environments provide special high-performance file- transmission facilities, such as the Unix sendfile() call. Servers and gateways may expose this functionality via an optional wsgi.file_wrapper key in the environ.
Info am Rande: Bottle unterstützt wsgi.file_wrapper, wenn es der Gateway auch tut.
Bottle: Micro Web Framework + Development Blog