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