Кто-то мог дать мне высокоуровневый технический обзор деталей WSGI негласно по сравнению с другим веб-интерфейсом approaces с Python?

Во-первых:

  1. Я понимаю то, что WSGI и как использовать его
  2. Я понимаю то, что "другие" методы (ультрасовременный Python Apache, fcgi, и др.), и как использовать их
  3. Я понимаю их практические различия

То, что я не понимаю, - то, как каждый из различных "других" методов работает по сравнению с чем-то как UWSGI, негласно. Ваш сервер (Nginx, и т.д.) направляют запрос к Вашему приложению WSGI, и UWSGI создает новый интерпретатор Python для каждого запроса, направленного к нему? То, сколько отличающийся, от другое более традиционное / исправленные методы обезьяны являются WSGI (кроме другого, более легкого интерфейса Python это предложения WSGI)? Какой момент лампочки я пропускаю?

8
задан orokusaki 29 April 2010 в 18:43
поделиться

1 ответ

За исключением CGI, новый интерпретатор Python почти никогда не создается по запросу. Прочтите:

http://blog.dscpl.com.au/2009/03/python-interpreter-is-not-created-for.html

Это было написано в отношении mod_python, но также применимо к mod_wsgi и любой механизм хостинга WSGI, использующий постоянные процессы.

Также прочтите:

http://www.python.org/dev/peps/pep-0333/#environ-variables

Там вы найдете описание переменной 'wsgi.run_once'. Это используется, чтобы указать приложению WSGI, когда используется механизм хостинга, который будет видеть, что процесс обрабатывает только один запрос, а затем завершается, то есть CGI. Таким образом, напишите тестовое приложение hello world, которое выгружает среду WSGI и посмотрите, что оно настроено для того, что вы используете.

Также обратите внимание на переменные wsgi.multiprocess и wsgi.multithread. Они сообщают вам, используется ли многопроцессорный сервер, так что существует несколько экземпляров вашего приложения, обрабатывающих запросы одновременно. Переменная wsgi.multithread сообщает вам, обрабатывает ли сам процесс несколько запросов в параллельных потоках одного и того же процесса.

Подробнее о многопроцессорных и многопоточных моделях в отношении встроенных систем Apache, таких как mod_python и mod_wsgi, а также о режиме демона mod_wsgi, см .:

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

8
ответ дан 5 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: