connect() failed (11: Resource temporarily unavailable) while connecting to upstream

alextop nginx-forum на nginx.us
Вт Ноя 9 11:10:29 MSK 2010


Может еще кому-то интересно.

Были такие же 502-е ошибки причем
группами по 5-10 запросов подряд (один и
тот же url), довольно часто, могло быть
несколько раз в минуту, но абсолютно
бессистемно. php-fpm подключается через
сокет.
Не помогло разделение на пулы, ошибки
появлялись почти так же часто,причем
подряд на нескольких пулах с выдачей
сообщения в конце типа "no live upstreams".
Начал копать дальше, думал не хватает
дескрипторов открытых файлов. 
Поставил ulimit -n 10000 (дефолтовое значение
оказалось 1024, в любом случае мало),
сильно ничего не поменялось.

Потом случайно где-то попалось
упоминание, про backlog. В конфиге стоит -1,
по идее php-fpm должен брать значение из
sysctl, но где-то встречал на форуме
сообщение, что он это может неправильно
делать. 
Поставил backlog 4096 на каждый пул, ночь
прошла - пока полет нормальный, ни одной
ошибки... 
По логике вещей 502 ошибка появляется пр
переполнении очереди (backlog) на сокете,
единственное, чего я не мог
предположить, так это неправильную
трактовку -1.

P.S. К стати, какой параметр в sysctl задает
backlog? somaxconn ? Проверял через su, sysctl -a
показывает somaxconn огромный (по сравнению
с 4096).

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,63460,149050#msg-149050




Подробная информация о списке рассылки nginx-ru