Доброго всем времени суток. Столкнулся с непонятной проблемой.
За nginx (freebsd 82. release, nginx 1.0.10) работает скрипт на python в виде http-сервера, выполняющий быструю обработку входящих данных (GET) и отдающий простой ответ с конкретным кодом (200,404,403,400) плюс несколько заголовков. Никаких запросов к БД, работы с ФС, работы с сетью, кроме непосредственно взаимодействия с nginx.
Прямые запросы к этому серверу, тестируемые через ab, успешно выполняются для конфигов вида ab -c 100 -n 10000 url. Никаких ошибок, время ответа порядка 20-150 мс.
Если же обращаемся через nginx, то получаем порядка 60-80% ответов 503. Причем по access_log значение request_time порядка 1-9 мс.
В "error_log debug" ничего по этой теме не попадает. Параллельно python продолжает успешно и быстро отвечать на прямые запросы.
Проброс запроса идет через именованный upstream. Пробовал большие max_fails, менять proxy_*_timeout - без толку.
Запросов в python идет порядка 5 в секунду.
Собственно, не понятны два момента - почему нет ничего дельного в debug-логе и что собственно происходит? :)