fastcgi

Alexey Lebedeff binarin at binarin.ru
Fri Apr 18 13:34:19 MSD 2008


On Wed, 16 Apr 2008 18:12:54 +0400, Vladimir V. Perepelitsa wrote:

 VVP> Алексей, вы не нашли решения?
 VVP> Я сейчас столкнулся с тем-же самым.

Я заставил fastcgi-сервер закрывать соединение сразу после выдачи
ответа, и в целом всё работает.

Немного некрасиво, ведь насколько я понял, по fastcgi через одно
TCP-соединение можно кучу запросов параллельно обслуживать - но по
сравнению с той логикой, которая fastcgi-сервером обслуживается,
накладные расходы на создание TCP-соединения незаметны.

Походу кстати еще в 2005 году у кого-то такая же проблема была
http://osdir.com/ml/web.nginx.russian/2005-12/msg00320.html

 VVP> On Friday 14 March 2008 17:01:13 Alexey Lebedeff wrote:
 >> Добрый день.
 >>
 >> У меня есть 2 fastcgi сервера, написанных на перле. Один - с
 >> использованием FCGI (точнее, CGI::Fast на его основе), и другой - на
 >> основе POE (с использованием POE::Filter::FastCGI).
 >>
 >> Через apache работают оба, через nginx - только на основе FCGI.
 >>
 >> Я для всех 4-х комбинаций wireshark'ом траффик рассматривал, получается
 >> так.
 >>
 >> apache в обоих случаях первым шлёт FIN, после получения полного ответа от
 >> скрипта. nginx + FCGI - в данном случае FCGI первым шлёт FIN
 >>
 >> nginx + POE - никто не шлёт FIN, всё просто висит, но непосредственно
 >>    данные ответа прошли, и ACK на них был получен.
 >>
 >> Когда процесс сервера убиваю в момент такого висения, сервер шлёт FIN,
 >> и всё начинает работать - ранее переданный ответ нормально попадает
 >> браузер.
 >>
 >> Содержимое самих ответных пакетов во всех случаях байт в байт совпадает.
 >>
 >> В целом, пока пытаюсь POE версию сразу делать shutdown, но является ли
 >> это правильным решением?


More information about the nginx-ru mailing list