Здравствуйте. У меня не работает 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@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru