ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Как nginx обрабатывает fastcg i запросы


  • To: "nginx-ru@xxxxxxxxx" <nginx-ru@xxxxxxxxx>
  • Subject: Re: Как nginx обрабатывает fastcg i запросы
  • From: Peter Leonov <gojpeg@xxxxxxxxx>
  • Date: Sat, 28 Aug 2010 14:59:34 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:x-mailer :mime-version:subject:date:references; bh=ySkXIyDgbzUaU6NljFj0bEgSoWXstJL+lmL3tGTFdWk=; b=BVduuPbMZfYYwFAuOR59lGOQ7KwRdbRdqkoXtczikeN0fkNkTQGjqhrPgOi7mYkVkW H9Lhcmw/mb0elqKDWA1brs4tOszHVL5XGwJbDgDTGA2p+SgsxAUxXNiaA07OqLtH/NbV XaL5YzQ7VK2KG0EIR/hxDu9rU/TySptASFXJo=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:in-reply-to:content-type :content-transfer-encoding:x-mailer:mime-version:subject:date :references; b=Y+AfK1JeKdlebme0ezBI1wZnTLGgBWJfbgI4mnnEEbLRh4q1G1F4AWhRFEwkadj5j7 xE/maSYc1KFBwj/d1Yr4ZHMamSlo2VZ2h5teDzp6YkH7KvQsX/X5z9L+o97ncJWMEgnl Pj9/Kh35WjHx9AXQpd261QOJu4u7n+S2Su88Y=
  • In-reply-to: <AANLkTin1k1KPdTt1_J4eTsNeGxq5r3Q-A6iz4XgBC79c@xxxxxxxxxxxxxx>
  • References: <AANLkTin1k1KPdTt1_J4eTsNeGxq5r3Q-A6iz4XgBC79c@xxxxxxxxxxxxxx>

Здравствуйте,

On 28.08.2010, at 2:16, ruslan usifov <ruslan.usifov@xxxxxxxxx> 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@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.