ПРОЕКТЫ 


  АРХИВ 


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]

Не работает upstream keepalive в связке с fastcgi-c бэкэндом


  • To: nginx-ru@xxxxxxxxx
  • Subject: Не работает upstream keepalive в связке с fastcgi-c бэкэндом
  • From: "Helg" <nginx-forum@xxxxxxxx>
  • Date: Sat, 21 Dec 2013 15:59:45 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=l9awlzqzfVtuo2TYtVHRA6y7pLrXThd26H8jISGUfCo=; b=poI+a8sbHuS3TRYupEeV1bn9E1oFfxcNdJO6BVowOWNd1BGzgskLa8b0DF2aePoWFiAeod/4A4NiN7TL6JJKXD6wn9JopqxohydHgsNBL4xCp0yORAOBOTFfCwudspYPaa3WmAMUYxRXa75vNgB0lPfr8ZEWYZaaDjZ5V089oS4=;

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

У меня не работает upstream keepalive в связке с fastcgi-c бэкэндом.

libfcgi - 2.4
nginx - 1.4.1, 1.5.8
Ubuntu 13.10 x64

Конфиг ngnix`а сделан по документации:

upstream test {
    server 127.0.0.1:12000;

    keepalive 32;
}

location / {
    access_log off;
    error_log  /var/log/nginx/error.log;

    allow all;
    fastcgi_keep_conn on;
    fastcgi_pass test;
    include fastcgi_params;
}


Тестирую просто:
ab -T application/octet-stream -k -n 10000 -c 1 "http://test.local/";


Если закомментировать "keepalive 32" то все работает отлично. Но на каждый
запрос создается новое соединение. Это отлично видно по netstat -an | grep
12000
Если же оставить так как выше, то через 5-10 тысяч запросов ab подвисает и
отваливается по таймауту. И больше ни одного запроса к бэкэкнду не доходит,
до рестарта бэкэнда или nginx.

Бэкэнд прост как лапоть (написан с помощью libfcgi):


#include "fcgi_stdio.h"
#include <stdlib.h>

int count;

int main()
{
  count=0;

  while (FCGI_Accept() >= 0)   {
    printf("Content-type: application/octet-stream\nContent-length: %u\n\n",
0);
  }

  return 0;
}

Вроде тут виснуть нечему. Но виснет.
Подскажите, может стакливались с таким? Как чинить. И как
продиагностировать, в чем именно проблема?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,245757,245757#msg-245757

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.