Re: Как nginx обрабатывает fastcgi запросы
Peter Leonov
gojpeg на gmail.com
Сб Авг 28 14:59:34 MSD 2010
Здравствуйте,
On 28.08.2010, at 2:16, ruslan usifov <ruslan.usifov на gmail.com> wrote:
> Написал простейшее fcgi приложение, запускаеться так spawn-fcgi -s /
> tmp/python-fcgi.sock -u www -g www -n -- /usr/local/bin/python /root
> /test.py
>
> import fastcgi;
> import time;
>
> def myapp(environ, start_response):
> write = start_response('200 OK', [('Content-Type', 'text/html;
> charset=utf-8')]);
> lines = [];
>
> time.sleep(30);
>
> for k, v in environ.iteritems():
> lines.append("<b>%s</b>: %s<br />\n" % (k, v));
>
> return lines;
>
> s = fastcgi.ForkingWSGIServer(myapp, 5);
> s.serve_forever();
>
> И запустил 6 параллельных запросов (http://app.test/), и с удивление
> м обнаружил accept в fastcgi сервере не был вызван одноврменно 6 раз
> , а был выполнен строго последовательно. Т.е запросы ушли параллельн
> о а accepts выполнились один за другим в результате последний 6-й за
> прос выполнялся не 30 секунд и 30*6 секунд. Собственно говоря вопрос
> почему так происходит?
Таки потому, что вы запустили только один процесс со скриптом.
Выполните строку с spawn-cgi несколько раз и увидите параллельность.
> Проверял apache mod_fastcgi поступает точно также.
>
> Конфигурация nginx такая:
>
> server
> {
> listen 80;
> server_name app.test;
>
> location /
> {
> fastcgi_pass unix:/tmp/python-fcgi.sock;
> include fastcgi_params;
> }
> }
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100828/565060fb/attachment.html>
Подробная информация о списке рассылки nginx-ru