Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fastcgi
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, но является ли
>> это правильным решением?
|