ПРОЕКТЫ 


  АРХИВ 


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]

Re: ошибка в nginx ?



On Wednesday, July 9, 2008 at 0:50:09, Andrei Nigmatulin wrote:

>> если я все правильно понимаю - в той ситуации когда у backend`а
>> уже закончился backlog - nginx в любом случае вернет ошибку 502 ?

AN> Да.

>> а какой при этом будет возвращен код ошибки из ядра,
>> EINPROGRESS или EAGAIN - никакой особой роли не играет,
>> и эту разницу можно будеть увидеть только по debug-логу?

AN> Да. Тут в общем-то самое полезное, что может сделать nginx -
AN> сообщить о том, что ошибка произошла в момент подключения.
AN> Так как из "(134: Transport endpoint is not connected)
AN> while sending request to upstream" сложно понять,
AN> что на самом деле произошло.

возможно это такой подход - не заниматься интерпретацией сообщений
об ошибках, а только буквально сообщать в лог о том, что произошло.
аналогичный случай с другой ошибкой - http://sysoev.ru/nginx/docs/faq.html

>> возвращаясь к тому исходному сообщению
>> http://groups.google.com/group/highload-php-ru/msg/a5a2883173f56f5d
>> - получается, что тут нет ошибки в ядре linux, которую можно исправить
>> и получить лучший результат (например, меньше ошибок 502 на клиенте) ?

AN> Можно увеличить somaxconn. По опыту, многим помогает.

это наверное единственный способ, если есть "всплески" запросов,
и задержка с отдачей ответа будет лучше, чем возврат 502 ошибки.

AN> Или перейти на tcp.

а чем в такой ситуации может помочь переход на tcp?
в пределах localhost`а tcp ведь работает медленнее,
чем unix sockets - будет только больше 502 ошибок?

AN> Или отказаться от linux.

зачем? при переполнении backlog`а будет точно такое же
поведение nginx`а и на других операционных системах...

AN> Или каким-то образом ускорить выполнение
AN> php скриптов, чтобы backlog не переполнялся.

или добавить еще backend`ов, потому что существующие
уже не справляются с нагрузкой, или настроить защиту
от DDOS-атак, если часть запросов приходит от ботов.

-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.