http: Accept error: accept tcp accept4: too many open files; retrying in 5ms

1,150 views
Skip to first unread message

Eugene Toropov

unread,
Jan 14, 2016, 3:43:15 PM1/14/16
to gola...@googlegroups.com
Есть с одной стороны сервер с выставленными ReadTimeout и WriteTimeout, с другой стороны сервер запускает кучу http.Client-ов с выставленным Timeout. При этом в логе сыпется куча сабжевых ошибок. Я еще про какой-то таймаут забыл?

Евгений

ma...@kevac.org

unread,
Jan 14, 2016, 3:51:25 PM1/14/16
to gola...@googlegroups.com
Вы достигли предела кол-ва открытых файловых дескрипторов.
Как увеличить можно посмотреть в гугле. Например тут: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

On Thu, Jan 14, 2016 at 11:43 PM Eugene Toropov <eugene....@gmail.com> wrote:
Есть с одной стороны сервер с выставленными ReadTimeout и WriteTimeout, с другой стороны сервер запускает кучу http.Client-ов с выставленным Timeout. При этом в логе сыпется куча сабжевых ошибок. Я еще про какой-то таймаут забыл?

Евгений

--
Вы получили это сообщение, поскольку подписаны на группу Golang Russian.

Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес golang-ru+...@googlegroups.com.
Настройки подписки и доставки писем: https://groups.google.com/d/optout.

Eugene Toropov

unread,
Jan 14, 2016, 3:53:35 PM1/14/16
to gola...@googlegroups.com
Вот я как бы и не понимаю, с чего это вдруг я его достиг, учитывая что нагрузка пока не сильно большая. Люди пишут, что надо таймауты выставить, но как-то пока не помогает.

Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

ma...@kevac.org

unread,
Jan 14, 2016, 4:12:18 PM1/14/16
to gola...@googlegroups.com
Обычное ограничение на кол-во открытых файлов - 1024. Такое кол-во соединений ваши http.Client могут сделать за долю секунды. На каждое соединение один дескриптор.
Еще возможно что вы не закрываете соединения после запроса.
Посмотреть на дескрипторы в linux можно командой lsof -i.

Eugene Toropov

unread,
Jan 15, 2016, 2:58:45 AM1/15/16
to gola...@googlegroups.com
Соединения привезли, закрываю. Видимо я все-таки недооценил число коннектов. Увеличил. Спасибо.

Евгений

Vladimir Suchkov

unread,
Jan 15, 2016, 5:54:48 AM1/15/16
to Golang Russian
и Body.Close() проверьте, для всех ли клиентов вызывается

пятница, 15 января 2016 г., 10:58:45 UTC+3 пользователь Eugene Toropov написал:

Eugene Toropov

unread,
Jan 15, 2016, 7:47:45 AM1/15/16
to gola...@googlegroups.com
Блин, только сейчас заметил, что client.Do(req) и Bodyy.Close() делались в разных горутинах и по general timeout body не закрывался. Спасибо.
Reply all
Reply to author
Forward
0 new messages