Wdrażanie Django (fastcgi, apache mod wsgi, uwsgi, gunicorn)

Czy ktoś może wyjaśnić różnicę między apache mod_wsgi w trybie daemon a django fastcgi w trybie threaded. Myślę, że obaj używają wątków do współbieżności. Załóżmy, że używam nginx jako front endu Apache mod_wsgi.

UPDATE:

Porównuję django wbudowane w fastcgi (./manage.py method=threaded maxchildren=15) oraz mod_wsgi w trybie 'daemon' (WSGIDaemonProcess example threads=15). Obaj używają nici i zdobywają GIL, czy ja prawda?

UPDATAE 2:

Więc jeśli oba są podobne, czy są jakieś korzyści Apache mod_wsgi przeciwko fastcgi. Widzę takie plusy fastcgi:

  • nie potrzebujemy apache
  • zużywamy mniej pamięci RAM
  • zauważyłem, że fastcgi ma mniejsze koszty

UPDATAE 3:

[[0]}jestem teraz zadowolony z nginx + uwsgi.

UPDATAE 4:

Jestem teraz zadowolony z nginx + gunicorn:)

Author: Roman Dolgiy, 2010-04-07

1 answers

Nie trzeba też używać wątków, aby móc obsługiwać żądania współbieżne. To zależy od tego, jak je skonfigurujesz. Możesz użyć wielu procesów, z których każdy jest pojedynczym gwintem, jeśli chcesz.

Aby dowiedzieć się więcej o modelach procesu / wątku mod_wsgi zobacz:

Http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading

Modele są podobne, aczkolwiek mod_wsgi sam zajmuje się zarządzaniem procesami. Co dzieje się w FASTCGI w zakresie zarządzania procesami zależy od jakiego mechanizmu hostingu FASTCGI używasz i nie mówisz co to jest.

Kolejna różnica polega na tym, że FASTCGI nadal potrzebuje oddzielnego FastCGI do WSGI bridge, takiego jak flup, gdzie jako mod_wsgi nie potrzebuje żadnego mostu, ponieważ implementuje interfejs WSGI natywnie.

Wreszcie, proces FASTCGI to Exec / fork jakiegoś procesu nadzorcy lub serwera www, zależny od mechanizmu hostingu. W mod_wsgi procesy są tylko rozwidleniem procesu macierzystego Apache. Ogólnie to nie zbyt wiele materii, ale ma pewne implikacje.

Istnieją inne różnice, ale pojawiają się one bardziej, ponieważ mod_wsgi oferuje o wiele więcej funkcjonalności i możliwości konfiguracji niż mechanizm hostingu FASTCGI.

W każdym razie, pytanie jest trochę niejasne, czy możesz być bardziej szczegółowy o tym, co chcesz wiedzieć lub kontrast między nimi i dlaczego? Odpowiedź może być lepiej ukierunkowana.

 10
Author: Graham Dumpleton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-07 16:59:43