ПРОЕКТЫ 


  АРХИВ 


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]

Как nginx обрабатывает fastcgi з апросы


  • To: nginx-ru@xxxxxxxxx
  • Subject: Как nginx обрабатывает fastcgi з апросы
  • From: ruslan usifov <ruslan.usifov@xxxxxxxxx>
  • Date: Sat, 28 Aug 2010 02:16:26 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=oomzOJuWo7+WWFx3LpbSNdMxwB2AMy/Ql2atnNaQUmI=; b=m4zHASrf0tGxdFBbDNAccu5Oh4grvuJa0iwjuhAeCGbKz/NDsxORrXy7R7Yig7QpC5 uBJicmFfPxGTWHvTdauWOBJklSLZEgsK5V14DyrU+eOFcvrja/0SFtMJCmfojlio8q/x FY0xgI7wdZiEs1sUB2LSNlNV1V0nEOHAfdtnE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=Gzj1gY9XOBze6EtK2y8D7Bt8/zPKg4F/50kiiQx1kBoviZEbRFF8nHOG+hTuQ86mFc RGmXEslArHcMyQvp8VDEZokjaa7CnOn2yHOQXZmYFKFw4LhupsExgGp6NV8tPMZSkE6H zZZOAOUEKzRN/qHGrmxTIij5tE8ocIgaUrES4=

Написал простейшее 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 секунд. Собственно говоря вопрос почему так происходит? Проверял 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


 




Copyright © Lexa Software, 1996-2009.